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,10 +8,9 @@
|
|
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
|
-
#include "rb_gsl_complex.h"
|
14
|
-
#include "rb_gsl_array.h"
|
12
|
+
#include "include/rb_gsl_complex.h"
|
13
|
+
#include "include/rb_gsl_array.h"
|
15
14
|
|
16
15
|
enum {
|
17
16
|
GSL_COMPLEX_ADD,
|
@@ -75,7 +74,7 @@ static VALUE rb_gsl_complex_arithmetics5(int flag, VALUE obj, VALUE bb)
|
|
75
74
|
case GSL_COMPLEX_DIV:
|
76
75
|
c = ALLOC(gsl_complex);
|
77
76
|
*c = tmp;
|
78
|
-
return Data_Wrap_Struct(cgsl_complex, 0, free, c);
|
77
|
+
return Data_Wrap_Struct(cgsl_complex, 0, free, c);
|
79
78
|
break;
|
80
79
|
}
|
81
80
|
break;
|
@@ -88,83 +87,81 @@ static VALUE rb_gsl_complex_arithmetics5(int flag, VALUE obj, VALUE bb)
|
|
88
87
|
case GSL_COMPLEX_SUB:
|
89
88
|
case GSL_COMPLEX_MUL:
|
90
89
|
case GSL_COMPLEX_DIV:
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
90
|
+
c = ALLOC(gsl_complex);
|
91
|
+
*c = tmp;
|
92
|
+
return Data_Wrap_Struct(cgsl_complex, 0, free, c);
|
93
|
+
break;
|
95
94
|
}
|
96
95
|
} else {
|
97
96
|
if (VECTOR_P(bb)) {
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
97
|
+
Data_Get_Struct(bb, gsl_vector, v);
|
98
|
+
cv = vector_to_complex(v);
|
99
|
+
cvnew = gsl_vector_complex_alloc(v->size);
|
100
|
+
if (cvnew == NULL) rb_raise(rb_eNoMemError, "gsl_vector_complex_alloc failed");
|
101
|
+
gsl_vector_complex_set_all(cvnew, *a);
|
102
|
+
switch (flag) {
|
103
|
+
case GSL_COMPLEX_ADD:
|
104
|
+
gsl_vector_complex_add(cvnew, cv);
|
105
|
+
break;
|
106
|
+
case GSL_COMPLEX_SUB:
|
107
|
+
gsl_vector_complex_sub(cvnew, cv);
|
108
|
+
break;
|
109
|
+
case GSL_COMPLEX_MUL:
|
110
|
+
gsl_vector_complex_mul(cvnew, cv);
|
111
|
+
break;
|
112
|
+
case GSL_COMPLEX_DIV:
|
113
|
+
gsl_vector_complex_add(cvnew, cv);
|
114
|
+
break;
|
115
|
+
}
|
116
|
+
gsl_vector_complex_free(cv);
|
117
|
+
return Data_Wrap_Struct(cgsl_vector_complex, 0, gsl_vector_complex_free, cvnew);
|
119
118
|
}
|
120
119
|
if (VECTOR_COMPLEX_P(bb)) {
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
120
|
+
Data_Get_Struct(bb, gsl_vector_complex, cv);
|
121
|
+
cvnew = gsl_vector_complex_alloc(v->size);
|
122
|
+
if (cvnew == NULL) rb_raise(rb_eNoMemError, "gsl_vector_complex_alloc failed");
|
123
|
+
gsl_vector_complex_set_all(cvnew, *a);
|
124
|
+
switch (flag) {
|
125
|
+
case GSL_COMPLEX_ADD:
|
126
|
+
gsl_vector_complex_add(cvnew, cv);
|
127
|
+
break;
|
128
|
+
case GSL_COMPLEX_SUB:
|
129
|
+
gsl_vector_complex_sub(cvnew, cv);
|
130
|
+
break;
|
131
|
+
case GSL_COMPLEX_MUL:
|
132
|
+
gsl_vector_complex_mul(cvnew, cv);
|
133
|
+
break;
|
134
|
+
case GSL_COMPLEX_DIV:
|
135
|
+
gsl_vector_complex_add(cvnew, cv);
|
136
|
+
break;
|
137
|
+
}
|
138
|
+
return Data_Wrap_Struct(cgsl_vector_complex, 0, gsl_vector_complex_free, cvnew);
|
140
139
|
}
|
141
|
-
|
142
|
-
|
143
140
|
if (MATRIX_P(bb)) {
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
}
|
148
|
-
|
141
|
+
Data_Get_Struct(bb, gsl_matrix, m);
|
142
|
+
cm = matrix_to_complex(m);
|
143
|
+
flagcm = 1;
|
144
|
+
} else if (MATRIX_COMPLEX_P(bb)) {
|
145
|
+
Data_Get_Struct(bb, gsl_matrix_complex, cm);
|
149
146
|
} else {
|
150
|
-
|
147
|
+
rb_raise(rb_eTypeError, "wrong argument type %s", rb_class2name(CLASS_OF(bb)));
|
151
148
|
}
|
152
149
|
cmself = gsl_matrix_complex_alloc(m->size1, m->size2);
|
153
150
|
if (cmself == NULL) rb_raise(rb_eNoMemError, "gsl_matrix_complex_alloc failed");
|
154
151
|
gsl_matrix_complex_set_all(cmself, *a);
|
155
152
|
switch (flag) {
|
156
153
|
case GSL_COMPLEX_ADD:
|
157
|
-
|
158
|
-
|
154
|
+
gsl_matrix_complex_add(cmself, cm);
|
155
|
+
break;
|
159
156
|
case GSL_COMPLEX_SUB:
|
160
|
-
|
161
|
-
|
157
|
+
gsl_matrix_complex_sub(cmself, cm);
|
158
|
+
break;
|
162
159
|
case GSL_COMPLEX_MUL:
|
163
|
-
|
164
|
-
|
160
|
+
gsl_matrix_complex_mul_elements(cmself, cm);
|
161
|
+
break;
|
165
162
|
case GSL_COMPLEX_DIV:
|
166
|
-
|
167
|
-
|
163
|
+
gsl_matrix_complex_div_elements(cmself, cm);
|
164
|
+
break;
|
168
165
|
}
|
169
166
|
if (flagcm == 1) gsl_matrix_complex_free(cm);
|
170
167
|
return Data_Wrap_Struct(cgsl_matrix_complex, 0, gsl_matrix_complex_free, cmself);
|
@@ -207,7 +204,7 @@ static VALUE rb_gsl_complex_coerce(VALUE obj, VALUE other)
|
|
207
204
|
c = ALLOC(gsl_complex);
|
208
205
|
*c = gsl_complex_rect(x, 0.0);
|
209
206
|
return rb_ary_new3(2, Data_Wrap_Struct(cgsl_complex, 0, free, c),
|
210
|
-
|
207
|
+
obj);
|
211
208
|
break;
|
212
209
|
default:
|
213
210
|
if (MATRIX_P(other)) {
|
@@ -220,7 +217,7 @@ static VALUE rb_gsl_complex_coerce(VALUE obj, VALUE other)
|
|
220
217
|
gsl_matrix_complex_set_all(cmself, *c);
|
221
218
|
vcmself = Data_Wrap_Struct(cgsl_matrix_complex, 0, gsl_matrix_complex_free, cmself);
|
222
219
|
return rb_ary_new3(2, vcmself, vcmnew);
|
223
|
-
}
|
220
|
+
}
|
224
221
|
if (MATRIX_COMPLEX_P(other)) {
|
225
222
|
Data_Get_Struct(other, gsl_matrix_complex, cmnew);
|
226
223
|
cmself = gsl_matrix_complex_alloc(cmnew->size1, cmnew->size2);
|
@@ -8,11 +8,10 @@
|
|
8
8
|
This library is distributed in the hope that it will be useful, but
|
9
9
|
WITHOUT ANY WARRANTY.
|
10
10
|
*/
|
11
|
-
#include "rb_gsl_config.h"
|
12
11
|
|
13
12
|
#include <gsl/gsl_blas.h>
|
14
|
-
#include "rb_gsl_common.h"
|
15
|
-
#include "rb_gsl_array.h"
|
13
|
+
#include "include/rb_gsl_common.h"
|
14
|
+
#include "include/rb_gsl_array.h"
|
16
15
|
|
17
16
|
void Init_gsl_blas1(VALUE module);
|
18
17
|
void Init_gsl_blas2(VALUE module);
|
@@ -8,19 +8,18 @@
|
|
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_complex.h"
|
15
|
-
#include "rb_gsl_array.h"
|
16
|
-
#include "rb_gsl_common.h"
|
13
|
+
#include "include/rb_gsl_complex.h"
|
14
|
+
#include "include/rb_gsl_array.h"
|
15
|
+
#include "include/rb_gsl_common.h"
|
17
16
|
|
18
17
|
static int get_vector1(int argc, VALUE *argv, VALUE obj, gsl_vector **x);
|
19
18
|
static int get_vector_complex1(int argc, VALUE *argv, VALUE obj, gsl_vector_complex **x);
|
20
|
-
static int get_vector2(int argc, VALUE *argv, VALUE obj,
|
21
|
-
|
22
|
-
static int get_vector_complex2(int argc, VALUE *argv, VALUE obj,
|
23
|
-
|
19
|
+
static int get_vector2(int argc, VALUE *argv, VALUE obj,
|
20
|
+
gsl_vector **x, gsl_vector **y);
|
21
|
+
static int get_vector_complex2(int argc, VALUE *argv, VALUE obj,
|
22
|
+
gsl_vector_complex **x, gsl_vector_complex **y);
|
24
23
|
|
25
24
|
static int get_vector1(int argc, VALUE *argv, VALUE obj, gsl_vector **x)
|
26
25
|
{
|
@@ -30,7 +29,7 @@ static int get_vector1(int argc, VALUE *argv, VALUE obj, gsl_vector **x)
|
|
30
29
|
case T_CLASS:
|
31
30
|
case T_OBJECT:
|
32
31
|
if (argc != 1) rb_raise(rb_eArgError, "wrong number of arguments (%d for 1)",
|
33
|
-
|
32
|
+
argc);
|
34
33
|
Data_Get_Vector(argv[0], (*x));
|
35
34
|
break;
|
36
35
|
default:
|
@@ -49,7 +48,7 @@ static int get_vector_complex1(int argc, VALUE *argv, VALUE obj, gsl_vector_comp
|
|
49
48
|
case T_CLASS:
|
50
49
|
case T_OBJECT:
|
51
50
|
if (argc != 1) rb_raise(rb_eArgError, "wrong number of arguments (%d for 1)",
|
52
|
-
|
51
|
+
argc);
|
53
52
|
CHECK_VECTOR_COMPLEX(argv[0]);
|
54
53
|
Data_Get_Struct(argv[0], gsl_vector_complex, (*x));
|
55
54
|
break;
|
@@ -61,8 +60,8 @@ static int get_vector_complex1(int argc, VALUE *argv, VALUE obj, gsl_vector_comp
|
|
61
60
|
return flag;
|
62
61
|
}
|
63
62
|
|
64
|
-
static int get_vector2(int argc, VALUE *argv, VALUE obj,
|
65
|
-
|
63
|
+
static int get_vector2(int argc, VALUE *argv, VALUE obj,
|
64
|
+
gsl_vector **x, gsl_vector **y)
|
66
65
|
{
|
67
66
|
int flag = 0;
|
68
67
|
switch (TYPE(obj)) {
|
@@ -70,13 +69,13 @@ static int get_vector2(int argc, VALUE *argv, VALUE obj,
|
|
70
69
|
case T_CLASS:
|
71
70
|
case T_OBJECT:
|
72
71
|
if (argc != 2) rb_raise(rb_eArgError, "wrong number of arguments (%d for 2)",
|
73
|
-
|
72
|
+
argc);
|
74
73
|
Data_Get_Vector(argv[0], (*x));
|
75
74
|
Data_Get_Vector(argv[1], (*y));
|
76
75
|
break;
|
77
76
|
default:
|
78
77
|
if (argc != 1) rb_raise(rb_eArgError, "wrong number of arguments (%d for 1)",
|
79
|
-
|
78
|
+
argc);
|
80
79
|
Data_Get_Vector(obj, (*x));
|
81
80
|
Data_Get_Vector(argv[0], (*y));
|
82
81
|
flag = 1;
|
@@ -86,8 +85,8 @@ static int get_vector2(int argc, VALUE *argv, VALUE obj,
|
|
86
85
|
}
|
87
86
|
|
88
87
|
|
89
|
-
static int get_vector_complex2(int argc, VALUE *argv, VALUE obj,
|
90
|
-
|
88
|
+
static int get_vector_complex2(int argc, VALUE *argv, VALUE obj,
|
89
|
+
gsl_vector_complex **x, gsl_vector_complex **y)
|
91
90
|
{
|
92
91
|
int flag = 0;
|
93
92
|
switch (TYPE(obj)) {
|
@@ -95,7 +94,7 @@ static int get_vector_complex2(int argc, VALUE *argv, VALUE obj,
|
|
95
94
|
case T_CLASS:
|
96
95
|
case T_OBJECT:
|
97
96
|
if (argc != 2) rb_raise(rb_eArgError, "wrong number of arguments (%d for 2)",
|
98
|
-
|
97
|
+
argc);
|
99
98
|
CHECK_VECTOR_COMPLEX(argv[0]);
|
100
99
|
CHECK_VECTOR_COMPLEX(argv[1]);
|
101
100
|
Data_Get_Struct(argv[0], gsl_vector_complex, (*x));
|
@@ -103,7 +102,7 @@ static int get_vector_complex2(int argc, VALUE *argv, VALUE obj,
|
|
103
102
|
break;
|
104
103
|
default:
|
105
104
|
if (argc != 1) rb_raise(rb_eArgError, "wrong number of arguments (%d for 1)",
|
106
|
-
|
105
|
+
argc);
|
107
106
|
CHECK_VECTOR_COMPLEX(argv[0]);
|
108
107
|
Data_Get_Struct(obj, gsl_vector_complex, (*x));
|
109
108
|
Data_Get_Struct(argv[0], gsl_vector_complex, (*y));
|
@@ -243,7 +242,7 @@ static VALUE rb_gsl_blas_daxpy(int argc, VALUE *argv, VALUE obj)
|
|
243
242
|
default:
|
244
243
|
Data_Get_Struct(obj, gsl_vector, x);
|
245
244
|
if (argc != 2) rb_raise(rb_eArgError, "wrong number of arguments (%d for 2)",
|
246
|
-
|
245
|
+
argc);
|
247
246
|
Need_Float(argv[0]);
|
248
247
|
// a = RFLOAT(argv[0])->value;
|
249
248
|
a = NUM2DBL(argv[0]);
|
@@ -270,7 +269,7 @@ static VALUE rb_gsl_blas_daxpy2(int argc, VALUE *argv, VALUE obj)
|
|
270
269
|
default:
|
271
270
|
Data_Get_Struct(obj, gsl_vector, x);
|
272
271
|
if (argc != 2) rb_raise(rb_eArgError, "wrong number of arguments (%d for 2)",
|
273
|
-
|
272
|
+
argc);
|
274
273
|
Need_Float(argv[0]);
|
275
274
|
CHECK_VECTOR(argv[1]);
|
276
275
|
// a = RFLOAT(argv[0])->value;
|
@@ -299,7 +298,7 @@ static VALUE rb_gsl_blas_zaxpy(int argc, VALUE *argv, VALUE obj)
|
|
299
298
|
default:
|
300
299
|
Data_Get_Struct(obj, gsl_vector_complex, x);
|
301
300
|
if (argc != 2) rb_raise(rb_eArgError, "wrong number of arguments (%d for 2)",
|
302
|
-
|
301
|
+
argc);
|
303
302
|
CHECK_COMPLEX(argv[0]);
|
304
303
|
CHECK_VECTOR_COMPLEX(argv[1]);
|
305
304
|
Data_Get_Struct(argv[0], gsl_complex, a);
|
@@ -326,7 +325,7 @@ static VALUE rb_gsl_blas_zaxpy2(int argc, VALUE *argv, VALUE obj)
|
|
326
325
|
default:
|
327
326
|
Data_Get_Struct(obj, gsl_vector_complex, x);
|
328
327
|
if (argc != 2) rb_raise(rb_eArgError, "wrong number of arguments (%d for 2)",
|
329
|
-
|
328
|
+
argc);
|
330
329
|
CHECK_COMPLEX(argv[0]);
|
331
330
|
CHECK_VECTOR_COMPLEX(argv[1]);
|
332
331
|
Data_Get_Struct(argv[0], gsl_complex, a);
|
@@ -348,7 +347,7 @@ static VALUE rb_gsl_blas_dscal(int argc, VALUE *argv, VALUE obj)
|
|
348
347
|
case T_CLASS:
|
349
348
|
case T_OBJECT:
|
350
349
|
if (argc != 2) rb_raise(rb_eArgError, "wrong number of arguments (%d for 2)",
|
351
|
-
|
350
|
+
argc);
|
352
351
|
Need_Float(argv[0]);
|
353
352
|
CHECK_VECTOR(argv[1]);
|
354
353
|
// a = RFLOAT(argv[0])->value;
|
@@ -359,7 +358,7 @@ static VALUE rb_gsl_blas_dscal(int argc, VALUE *argv, VALUE obj)
|
|
359
358
|
break;
|
360
359
|
default:
|
361
360
|
if (argc != 1) rb_raise(rb_eArgError, "wrong number of arguments (%d for 1)",
|
362
|
-
|
361
|
+
argc);
|
363
362
|
Need_Float(argv[0]);
|
364
363
|
// a = RFLOAT(argv[0])->value;
|
365
364
|
a = NUM2DBL(argv[0]);
|
@@ -380,7 +379,7 @@ static VALUE rb_gsl_blas_dscal2(int argc, VALUE *argv, VALUE obj)
|
|
380
379
|
case T_CLASS:
|
381
380
|
case T_OBJECT:
|
382
381
|
if (argc != 2) rb_raise(rb_eArgError, "wrong number of arguments (%d for 2)",
|
383
|
-
|
382
|
+
argc);
|
384
383
|
Need_Float(argv[0]);
|
385
384
|
CHECK_VECTOR(argv[1]);
|
386
385
|
a = NUM2DBL(argv[0]);
|
@@ -389,7 +388,7 @@ static VALUE rb_gsl_blas_dscal2(int argc, VALUE *argv, VALUE obj)
|
|
389
388
|
default:
|
390
389
|
Data_Get_Struct(obj, gsl_vector, x);
|
391
390
|
if (argc != 1) rb_raise(rb_eArgError, "wrong number of arguments (%d for 1)",
|
392
|
-
|
391
|
+
argc);
|
393
392
|
Need_Float(argv[0]);
|
394
393
|
a = NUM2DBL(argv[0]);
|
395
394
|
break;
|
@@ -409,7 +408,7 @@ static VALUE rb_gsl_blas_zdscal(int argc, VALUE *argv, VALUE obj)
|
|
409
408
|
case T_CLASS:
|
410
409
|
case T_OBJECT:
|
411
410
|
if (argc != 2) rb_raise(rb_eArgError, "wrong number of arguments (%d for 2)",
|
412
|
-
|
411
|
+
argc);
|
413
412
|
Need_Float(argv[0]);
|
414
413
|
CHECK_VECTOR_COMPLEX(argv[1]);
|
415
414
|
// a = RFLOAT(argv[0])->value;
|
@@ -421,7 +420,7 @@ static VALUE rb_gsl_blas_zdscal(int argc, VALUE *argv, VALUE obj)
|
|
421
420
|
default:
|
422
421
|
Data_Get_Struct(obj, gsl_vector_complex, x);
|
423
422
|
if (argc != 1) rb_raise(rb_eArgError, "wrong number of arguments (%d for 1)",
|
424
|
-
|
423
|
+
argc);
|
425
424
|
Need_Float(argv[0]);
|
426
425
|
a = NUM2DBL(argv[0]);
|
427
426
|
gsl_blas_zdscal(a, x);
|
@@ -439,7 +438,7 @@ static VALUE rb_gsl_blas_zdscal2(int argc, VALUE *argv, VALUE obj)
|
|
439
438
|
case T_CLASS:
|
440
439
|
case T_OBJECT:
|
441
440
|
if (argc != 2) rb_raise(rb_eArgError, "wrong number of arguments (%d for 2)",
|
442
|
-
|
441
|
+
argc);
|
443
442
|
Need_Float(argv[0]);
|
444
443
|
CHECK_VECTOR_COMPLEX(argv[1]);
|
445
444
|
a = NUM2DBL(argv[0]);
|
@@ -448,7 +447,7 @@ static VALUE rb_gsl_blas_zdscal2(int argc, VALUE *argv, VALUE obj)
|
|
448
447
|
default:
|
449
448
|
Data_Get_Struct(obj, gsl_vector_complex, x);
|
450
449
|
if (argc != 1) rb_raise(rb_eArgError, "wrong number of arguments (%d for 1)",
|
451
|
-
|
450
|
+
argc);
|
452
451
|
Need_Float(argv[0]);
|
453
452
|
a = NUM2DBL(argv[0]);
|
454
453
|
break;
|
@@ -469,7 +468,7 @@ static VALUE rb_gsl_blas_zscal(int argc, VALUE *argv, VALUE obj)
|
|
469
468
|
case T_CLASS:
|
470
469
|
case T_OBJECT:
|
471
470
|
if (argc != 2) rb_raise(rb_eArgError, "wrong number of arguments (%d for 2)",
|
472
|
-
|
471
|
+
argc);
|
473
472
|
CHECK_VECTOR_COMPLEX(argv[1]);
|
474
473
|
Data_Get_Struct(argv[0], gsl_complex, a);
|
475
474
|
Data_Get_Struct(argv[1], gsl_vector_complex, x);
|
@@ -478,7 +477,7 @@ static VALUE rb_gsl_blas_zscal(int argc, VALUE *argv, VALUE obj)
|
|
478
477
|
break;
|
479
478
|
default:
|
480
479
|
if (argc != 1) rb_raise(rb_eArgError, "wrong number of arguments (%d for 1)",
|
481
|
-
|
480
|
+
argc);
|
482
481
|
Data_Get_Struct(obj, gsl_vector_complex, x);
|
483
482
|
Data_Get_Struct(argv[0], gsl_complex, a);
|
484
483
|
gsl_blas_zscal(*a, x);
|
@@ -497,14 +496,14 @@ static VALUE rb_gsl_blas_zscal2(int argc, VALUE *argv, VALUE obj)
|
|
497
496
|
case T_CLASS:
|
498
497
|
case T_OBJECT:
|
499
498
|
if (argc != 2) rb_raise(rb_eArgError, "wrong number of arguments (%d for 2)",
|
500
|
-
|
499
|
+
argc);
|
501
500
|
CHECK_VECTOR_COMPLEX(argv[1]);
|
502
501
|
Data_Get_Struct(argv[0], gsl_complex, a);
|
503
502
|
Data_Get_Struct(argv[1], gsl_vector_complex, x);
|
504
503
|
break;
|
505
504
|
default:
|
506
505
|
if (argc != 1) rb_raise(rb_eArgError, "wrong number of arguments (%d for 1)",
|
507
|
-
|
506
|
+
argc);
|
508
507
|
Data_Get_Struct(obj, gsl_vector_complex, x);
|
509
508
|
Data_Get_Struct(argv[0], gsl_complex, a);
|
510
509
|
break;
|
@@ -549,7 +548,7 @@ static VALUE rb_gsl_blas_drot2(VALUE obj, VALUE xx, VALUE yy, VALUE cc, VALUE ss
|
|
549
548
|
gsl_vector_memcpy(ynew, y);
|
550
549
|
gsl_blas_drot(xnew, ynew, c, s);
|
551
550
|
return rb_ary_new3(2, Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, xnew),
|
552
|
-
|
551
|
+
Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, ynew));
|
553
552
|
}
|
554
553
|
|
555
554
|
static VALUE rb_gsl_blas_drotm(VALUE obj, VALUE xx, VALUE yy, VALUE PP)
|
@@ -602,7 +601,7 @@ static VALUE rb_gsl_blas_drotm2(VALUE obj, VALUE xx, VALUE yy, VALUE PP)
|
|
602
601
|
gsl_blas_drotm(xnew, ynew, p->data);
|
603
602
|
if (flag == 1) gsl_vector_free(p);
|
604
603
|
return rb_ary_new3(2, Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, xnew),
|
605
|
-
|
604
|
+
Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, ynew));
|
606
605
|
}
|
607
606
|
|
608
607
|
void Init_gsl_blas1(VALUE module)
|
@@ -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 void define_const(VALUE module);
|
19
18
|
|
@@ -58,7 +57,7 @@ static VALUE rb_gsl_blas_dgemv(int argc, VALUE *argv, VALUE obj)
|
|
58
57
|
case T_CLASS:
|
59
58
|
case T_OBJECT:
|
60
59
|
if (argc < 4) rb_raise(rb_eArgError, "wrong number of arguments (%d for >= 4)",
|
61
|
-
|
60
|
+
argc);
|
62
61
|
CHECK_FIXNUM(argv[0]);
|
63
62
|
Need_Float(argv[1]);
|
64
63
|
CHECK_MATRIX(argv[2]);
|
@@ -72,7 +71,7 @@ static VALUE rb_gsl_blas_dgemv(int argc, VALUE *argv, VALUE obj)
|
|
72
71
|
default:
|
73
72
|
Data_Get_Struct(obj, gsl_matrix, A);
|
74
73
|
if (argc < 3) rb_raise(rb_eArgError, "wrong number of arguments (%d for >= 3)",
|
75
|
-
|
74
|
+
argc);
|
76
75
|
CHECK_FIXNUM(argv[0]);
|
77
76
|
Need_Float(argv[1]);
|
78
77
|
CHECK_VECTOR(argv[2]);
|
@@ -101,7 +100,6 @@ static VALUE rb_gsl_blas_dgemv(int argc, VALUE *argv, VALUE obj)
|
|
101
100
|
gsl_blas_dgemv(type, a, A, x, b, y);
|
102
101
|
if (flag == 1) return Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, y);
|
103
102
|
else return argv[argc-1];
|
104
|
-
|
105
103
|
}
|
106
104
|
|
107
105
|
static VALUE rb_gsl_blas_dgemv2(int argc, VALUE *argv, VALUE obj)
|
@@ -115,7 +113,7 @@ static VALUE rb_gsl_blas_dgemv2(int argc, VALUE *argv, VALUE obj)
|
|
115
113
|
case T_CLASS:
|
116
114
|
case T_OBJECT:
|
117
115
|
if (argc < 4) rb_raise(rb_eArgError, "wrong number of arguments (%d for >= 4)",
|
118
|
-
|
116
|
+
argc);
|
119
117
|
CHECK_FIXNUM(argv[0]);
|
120
118
|
Need_Float(argv[1]);
|
121
119
|
CHECK_MATRIX(argv[2]);
|
@@ -129,7 +127,7 @@ static VALUE rb_gsl_blas_dgemv2(int argc, VALUE *argv, VALUE obj)
|
|
129
127
|
default:
|
130
128
|
Data_Get_Struct(obj, gsl_matrix, A);
|
131
129
|
if (argc < 3) rb_raise(rb_eArgError, "wrong number of arguments (%d for >= 3)",
|
132
|
-
|
130
|
+
argc);
|
133
131
|
CHECK_FIXNUM(argv[0]);
|
134
132
|
Need_Float(argv[1]);
|
135
133
|
CHECK_VECTOR(argv[2]);
|
@@ -173,7 +171,7 @@ static VALUE rb_gsl_blas_zgemv(int argc, VALUE *argv, VALUE obj)
|
|
173
171
|
case T_CLASS:
|
174
172
|
case T_OBJECT:
|
175
173
|
if (argc < 4) rb_raise(rb_eArgError, "wrong number of arguments (%d for >= 4)",
|
176
|
-
|
174
|
+
argc);
|
177
175
|
CHECK_FIXNUM(argv[0]);
|
178
176
|
CHECK_COMPLEX(argv[1]);
|
179
177
|
CHECK_MATRIX_COMPLEX(argv[2]);
|
@@ -187,7 +185,7 @@ static VALUE rb_gsl_blas_zgemv(int argc, VALUE *argv, VALUE obj)
|
|
187
185
|
default:
|
188
186
|
Data_Get_Struct(obj, gsl_matrix_complex, A);
|
189
187
|
if (argc < 3) rb_raise(rb_eArgError, "wrong number of arguments (%d for >= 3)",
|
190
|
-
|
188
|
+
argc);
|
191
189
|
CHECK_FIXNUM(argv[0]);
|
192
190
|
CHECK_COMPLEX(argv[1]);
|
193
191
|
CHECK_VECTOR_COMPLEX(argv[2]);
|
@@ -217,7 +215,6 @@ static VALUE rb_gsl_blas_zgemv(int argc, VALUE *argv, VALUE obj)
|
|
217
215
|
gsl_blas_zgemv(type, *a, A, x, *b, y);
|
218
216
|
if (flag == 1) return Data_Wrap_Struct(cgsl_vector_complex, 0, gsl_vector_complex_free, y);
|
219
217
|
else return argv[argc-1];
|
220
|
-
|
221
218
|
}
|
222
219
|
|
223
220
|
|
@@ -232,7 +229,7 @@ static VALUE rb_gsl_blas_zgemv2(int argc, VALUE *argv, VALUE obj)
|
|
232
229
|
case T_CLASS:
|
233
230
|
case T_OBJECT:
|
234
231
|
if (argc < 4) rb_raise(rb_eArgError, "wrong number of arguments (%d for >= 4)",
|
235
|
-
|
232
|
+
argc);
|
236
233
|
CHECK_FIXNUM(argv[0]);
|
237
234
|
CHECK_COMPLEX(argv[1]);
|
238
235
|
CHECK_MATRIX_COMPLEX(argv[2]);
|
@@ -246,7 +243,7 @@ static VALUE rb_gsl_blas_zgemv2(int argc, VALUE *argv, VALUE obj)
|
|
246
243
|
default:
|
247
244
|
Data_Get_Struct(obj, gsl_matrix_complex, A);
|
248
245
|
if (argc < 3) rb_raise(rb_eArgError, "wrong number of arguments (%d for >= 3)",
|
249
|
-
|
246
|
+
argc);
|
250
247
|
CHECK_FIXNUM(argv[0]);
|
251
248
|
CHECK_COMPLEX(argv[1]);
|
252
249
|
CHECK_VECTOR_COMPLEX(argv[2]);
|
@@ -289,7 +286,7 @@ static VALUE rb_gsl_blas_dtrmv(int argc, VALUE *argv, VALUE obj)
|
|
289
286
|
case T_CLASS:
|
290
287
|
case T_OBJECT:
|
291
288
|
if (argc != 5) rb_raise(rb_eArgError, "wrong number of arguments (%d for 5)",
|
292
|
-
|
289
|
+
argc);
|
293
290
|
CHECK_MATRIX(argv[3]);
|
294
291
|
CHECK_VECTOR(argv[4]);
|
295
292
|
Data_Get_Struct(argv[3], gsl_matrix, A);
|
@@ -297,7 +294,7 @@ static VALUE rb_gsl_blas_dtrmv(int argc, VALUE *argv, VALUE obj)
|
|
297
294
|
break;
|
298
295
|
default:
|
299
296
|
if (argc != 4) rb_raise(rb_eArgError, "wrong number of arguments (%d for 4)",
|
300
|
-
|
297
|
+
argc);
|
301
298
|
CHECK_VECTOR(argv[3]);
|
302
299
|
Data_Get_Struct(obj, gsl_matrix, A);
|
303
300
|
Data_Get_Struct(argv[3], gsl_vector, x);
|
@@ -305,7 +302,7 @@ static VALUE rb_gsl_blas_dtrmv(int argc, VALUE *argv, VALUE obj)
|
|
305
302
|
}
|
306
303
|
CHECK_FIXNUM(argv[0]); CHECK_FIXNUM(argv[1]); CHECK_FIXNUM(argv[2]);
|
307
304
|
gsl_blas_dtrmv(FIX2INT(argv[0]), FIX2INT(argv[1]), FIX2INT(argv[2]),
|
308
|
-
|
305
|
+
A, x);
|
309
306
|
return argv[argc-1];
|
310
307
|
}
|
311
308
|
|
@@ -319,7 +316,7 @@ static VALUE rb_gsl_blas_dtrmv2(int argc, VALUE *argv, VALUE obj)
|
|
319
316
|
case T_CLASS:
|
320
317
|
case T_OBJECT:
|
321
318
|
if (argc != 5) rb_raise(rb_eArgError, "wrong number of arguments (%d for 5)",
|
322
|
-
|
319
|
+
argc);
|
323
320
|
CHECK_MATRIX(argv[3]);
|
324
321
|
CHECK_VECTOR(argv[4]);
|
325
322
|
Data_Get_Struct(argv[3], gsl_matrix, A);
|
@@ -327,7 +324,7 @@ static VALUE rb_gsl_blas_dtrmv2(int argc, VALUE *argv, VALUE obj)
|
|
327
324
|
break;
|
328
325
|
default:
|
329
326
|
if (argc != 4) rb_raise(rb_eArgError, "wrong number of arguments (%d for 4)",
|
330
|
-
|
327
|
+
argc);
|
331
328
|
CHECK_VECTOR(argv[3]);
|
332
329
|
Data_Get_Struct(obj, gsl_matrix, A);
|
333
330
|
Data_Get_Struct(argv[3], gsl_vector, x);
|
@@ -337,7 +334,7 @@ static VALUE rb_gsl_blas_dtrmv2(int argc, VALUE *argv, VALUE obj)
|
|
337
334
|
xnew = gsl_vector_alloc(x->size);
|
338
335
|
gsl_vector_memcpy(xnew, x);
|
339
336
|
gsl_blas_dtrmv(FIX2INT(argv[0]), FIX2INT(argv[1]), FIX2INT(argv[2]),
|
340
|
-
|
337
|
+
A, xnew);
|
341
338
|
return Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, xnew);
|
342
339
|
}
|
343
340
|
|
@@ -351,7 +348,7 @@ static VALUE rb_gsl_blas_ztrmv(int argc, VALUE *argv, VALUE obj)
|
|
351
348
|
case T_CLASS:
|
352
349
|
case T_OBJECT:
|
353
350
|
if (argc != 5) rb_raise(rb_eArgError, "wrong number of arguments (%d for 5)",
|
354
|
-
|
351
|
+
argc);
|
355
352
|
CHECK_MATRIX_COMPLEX(argv[3]);
|
356
353
|
CHECK_VECTOR_COMPLEX(argv[4]);
|
357
354
|
Data_Get_Struct(argv[3], gsl_matrix_complex, A);
|
@@ -359,7 +356,7 @@ static VALUE rb_gsl_blas_ztrmv(int argc, VALUE *argv, VALUE obj)
|
|
359
356
|
break;
|
360
357
|
default:
|
361
358
|
if (argc != 4) rb_raise(rb_eArgError, "wrong number of arguments (%d for 4)",
|
362
|
-
|
359
|
+
argc);
|
363
360
|
CHECK_VECTOR_COMPLEX(argv[3]);
|
364
361
|
Data_Get_Struct(obj, gsl_matrix_complex, A);
|
365
362
|
Data_Get_Struct(argv[3], gsl_vector_complex, x);
|
@@ -367,7 +364,7 @@ static VALUE rb_gsl_blas_ztrmv(int argc, VALUE *argv, VALUE obj)
|
|
367
364
|
}
|
368
365
|
CHECK_FIXNUM(argv[0]); CHECK_FIXNUM(argv[1]); CHECK_FIXNUM(argv[2]);
|
369
366
|
gsl_blas_ztrmv(FIX2INT(argv[0]), FIX2INT(argv[1]), FIX2INT(argv[2]),
|
370
|
-
|
367
|
+
A, x);
|
371
368
|
return argv[argc-1];
|
372
369
|
}
|
373
370
|
|
@@ -380,7 +377,7 @@ static VALUE rb_gsl_blas_ztrmv2(int argc, VALUE *argv, VALUE obj)
|
|
380
377
|
case T_CLASS:
|
381
378
|
case T_OBJECT:
|
382
379
|
if (argc != 5) rb_raise(rb_eArgError, "wrong number of arguments (%d for 5)",
|
383
|
-
|
380
|
+
argc);
|
384
381
|
CHECK_MATRIX_COMPLEX(argv[3]);
|
385
382
|
CHECK_VECTOR_COMPLEX(argv[4]);
|
386
383
|
Data_Get_Struct(argv[3], gsl_matrix_complex, A);
|
@@ -388,7 +385,7 @@ static VALUE rb_gsl_blas_ztrmv2(int argc, VALUE *argv, VALUE obj)
|
|
388
385
|
break;
|
389
386
|
default:
|
390
387
|
if (argc != 4) rb_raise(rb_eArgError, "wrong number of arguments (%d for 4)",
|
391
|
-
|
388
|
+
argc);
|
392
389
|
CHECK_VECTOR_COMPLEX(argv[3]);
|
393
390
|
Data_Get_Struct(obj, gsl_matrix_complex, A);
|
394
391
|
Data_Get_Struct(argv[3], gsl_vector_complex, x);
|
@@ -398,7 +395,7 @@ static VALUE rb_gsl_blas_ztrmv2(int argc, VALUE *argv, VALUE obj)
|
|
398
395
|
xnew = gsl_vector_complex_alloc(x->size);
|
399
396
|
gsl_vector_complex_memcpy(xnew, x);
|
400
397
|
gsl_blas_ztrmv(FIX2INT(argv[0]), FIX2INT(argv[1]), FIX2INT(argv[2]),
|
401
|
-
|
398
|
+
A, xnew);
|
402
399
|
return Data_Wrap_Struct(cgsl_vector_complex, 0, gsl_vector_complex_free, xnew);
|
403
400
|
}
|
404
401
|
|
@@ -411,7 +408,7 @@ static VALUE rb_gsl_blas_dtrsv(int argc, VALUE *argv, VALUE obj)
|
|
411
408
|
case T_CLASS:
|
412
409
|
case T_OBJECT:
|
413
410
|
if (argc != 5) rb_raise(rb_eArgError, "wrong number of arguments (%d for 5)",
|
414
|
-
|
411
|
+
argc);
|
415
412
|
CHECK_MATRIX(argv[3]);
|
416
413
|
CHECK_VECTOR(argv[4]);
|
417
414
|
Data_Get_Struct(argv[3], gsl_matrix, A);
|
@@ -419,7 +416,7 @@ static VALUE rb_gsl_blas_dtrsv(int argc, VALUE *argv, VALUE obj)
|
|
419
416
|
break;
|
420
417
|
default:
|
421
418
|
if (argc != 4) rb_raise(rb_eArgError, "wrong number of arguments (%d for 4)",
|
422
|
-
|
419
|
+
argc);
|
423
420
|
CHECK_VECTOR(argv[3]);
|
424
421
|
Data_Get_Struct(obj, gsl_matrix, A);
|
425
422
|
Data_Get_Struct(argv[3], gsl_vector, x);
|
@@ -427,7 +424,7 @@ static VALUE rb_gsl_blas_dtrsv(int argc, VALUE *argv, VALUE obj)
|
|
427
424
|
}
|
428
425
|
CHECK_FIXNUM(argv[0]); CHECK_FIXNUM(argv[1]); CHECK_FIXNUM(argv[2]);
|
429
426
|
gsl_blas_dtrsv(FIX2INT(argv[0]), FIX2INT(argv[1]), FIX2INT(argv[2]),
|
430
|
-
|
427
|
+
A, x);
|
431
428
|
return argv[argc-1];
|
432
429
|
}
|
433
430
|
|
@@ -440,7 +437,7 @@ static VALUE rb_gsl_blas_dtrsv2(int argc, VALUE *argv, VALUE obj)
|
|
440
437
|
case T_CLASS:
|
441
438
|
case T_OBJECT:
|
442
439
|
if (argc != 5) rb_raise(rb_eArgError, "wrong number of arguments (%d for 5)",
|
443
|
-
|
440
|
+
argc);
|
444
441
|
CHECK_MATRIX(argv[3]);
|
445
442
|
CHECK_VECTOR(argv[4]);
|
446
443
|
Data_Get_Struct(argv[3], gsl_matrix, A);
|
@@ -448,7 +445,7 @@ static VALUE rb_gsl_blas_dtrsv2(int argc, VALUE *argv, VALUE obj)
|
|
448
445
|
break;
|
449
446
|
default:
|
450
447
|
if (argc != 4) rb_raise(rb_eArgError, "wrong number of arguments (%d for 4)",
|
451
|
-
|
448
|
+
argc);
|
452
449
|
CHECK_VECTOR(argv[3]);
|
453
450
|
Data_Get_Struct(obj, gsl_matrix, A);
|
454
451
|
Data_Get_Struct(argv[3], gsl_vector, x);
|
@@ -458,7 +455,7 @@ static VALUE rb_gsl_blas_dtrsv2(int argc, VALUE *argv, VALUE obj)
|
|
458
455
|
xnew = gsl_vector_alloc(x->size);
|
459
456
|
gsl_vector_memcpy(xnew, x);
|
460
457
|
gsl_blas_dtrsv(FIX2INT(argv[0]), FIX2INT(argv[1]), FIX2INT(argv[2]),
|
461
|
-
|
458
|
+
A, xnew);
|
462
459
|
return Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, xnew);
|
463
460
|
}
|
464
461
|
|
@@ -471,7 +468,7 @@ static VALUE rb_gsl_blas_ztrsv(int argc, VALUE *argv, VALUE obj)
|
|
471
468
|
case T_CLASS:
|
472
469
|
case T_OBJECT:
|
473
470
|
if (argc != 5) rb_raise(rb_eArgError, "wrong number of arguments (%d for 5)",
|
474
|
-
|
471
|
+
argc);
|
475
472
|
CHECK_MATRIX_COMPLEX(argv[3]);
|
476
473
|
CHECK_VECTOR_COMPLEX(argv[4]);
|
477
474
|
Data_Get_Struct(argv[3], gsl_matrix_complex, A);
|
@@ -479,7 +476,7 @@ static VALUE rb_gsl_blas_ztrsv(int argc, VALUE *argv, VALUE obj)
|
|
479
476
|
break;
|
480
477
|
default:
|
481
478
|
if (argc != 4) rb_raise(rb_eArgError, "wrong number of arguments (%d for 4)",
|
482
|
-
|
479
|
+
argc);
|
483
480
|
CHECK_VECTOR_COMPLEX(argv[3]);
|
484
481
|
Data_Get_Struct(obj, gsl_matrix_complex, A);
|
485
482
|
Data_Get_Struct(argv[3], gsl_vector_complex, x);
|
@@ -487,7 +484,7 @@ static VALUE rb_gsl_blas_ztrsv(int argc, VALUE *argv, VALUE obj)
|
|
487
484
|
}
|
488
485
|
CHECK_FIXNUM(argv[0]); CHECK_FIXNUM(argv[1]); CHECK_FIXNUM(argv[2]);
|
489
486
|
gsl_blas_ztrsv(FIX2INT(argv[0]), FIX2INT(argv[1]), FIX2INT(argv[2]),
|
490
|
-
|
487
|
+
A, x);
|
491
488
|
return argv[argc-1];
|
492
489
|
}
|
493
490
|
|
@@ -500,7 +497,7 @@ static VALUE rb_gsl_blas_ztrsv2(int argc, VALUE *argv, VALUE obj)
|
|
500
497
|
case T_CLASS:
|
501
498
|
case T_OBJECT:
|
502
499
|
if (argc != 5) rb_raise(rb_eArgError, "wrong number of arguments (%d for 5)",
|
503
|
-
|
500
|
+
argc);
|
504
501
|
CHECK_MATRIX_COMPLEX(argv[3]);
|
505
502
|
CHECK_VECTOR_COMPLEX(argv[4]);
|
506
503
|
Data_Get_Struct(argv[3], gsl_matrix_complex, A);
|
@@ -508,7 +505,7 @@ static VALUE rb_gsl_blas_ztrsv2(int argc, VALUE *argv, VALUE obj)
|
|
508
505
|
break;
|
509
506
|
default:
|
510
507
|
if (argc != 4) rb_raise(rb_eArgError, "wrong number of arguments (%d for 4)",
|
511
|
-
|
508
|
+
argc);
|
512
509
|
CHECK_VECTOR_COMPLEX(argv[3]);
|
513
510
|
Data_Get_Struct(obj, gsl_matrix_complex, A);
|
514
511
|
Data_Get_Struct(argv[3], gsl_vector_complex, x);
|
@@ -518,7 +515,7 @@ static VALUE rb_gsl_blas_ztrsv2(int argc, VALUE *argv, VALUE obj)
|
|
518
515
|
xnew = gsl_vector_complex_alloc(x->size);
|
519
516
|
gsl_vector_complex_memcpy(xnew, x);
|
520
517
|
gsl_blas_ztrsv(FIX2INT(argv[0]), FIX2INT(argv[1]), FIX2INT(argv[2]),
|
521
|
-
|
518
|
+
A, xnew);
|
522
519
|
return Data_Wrap_Struct(cgsl_vector_complex, 0, gsl_vector_complex_free, xnew);
|
523
520
|
}
|
524
521
|
|
@@ -533,7 +530,7 @@ static VALUE rb_gsl_blas_dsymv(int argc, VALUE *argv, VALUE obj)
|
|
533
530
|
case T_CLASS:
|
534
531
|
case T_OBJECT:
|
535
532
|
if (argc < 4) rb_raise(rb_eArgError, "wrong number of arguments (%d for >= 4)",
|
536
|
-
|
533
|
+
argc);
|
537
534
|
CHECK_FIXNUM(argv[0]);
|
538
535
|
Need_Float(argv[1]);
|
539
536
|
CHECK_MATRIX(argv[2]);
|
@@ -547,7 +544,7 @@ static VALUE rb_gsl_blas_dsymv(int argc, VALUE *argv, VALUE obj)
|
|
547
544
|
default:
|
548
545
|
Data_Get_Struct(obj, gsl_matrix, A);
|
549
546
|
if (argc < 3) rb_raise(rb_eArgError, "wrong number of arguments (%d for >= 3)",
|
550
|
-
|
547
|
+
argc);
|
551
548
|
CHECK_FIXNUM(argv[0]);
|
552
549
|
Need_Float(argv[1]);
|
553
550
|
CHECK_VECTOR(argv[2]);
|
@@ -576,7 +573,6 @@ static VALUE rb_gsl_blas_dsymv(int argc, VALUE *argv, VALUE obj)
|
|
576
573
|
gsl_blas_dsymv(type, a, A, x, b, y);
|
577
574
|
if (flag == 1) return Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, y);
|
578
575
|
else return argv[argc-1];
|
579
|
-
|
580
576
|
}
|
581
577
|
|
582
578
|
static VALUE rb_gsl_blas_dsymv2(int argc, VALUE *argv, VALUE obj)
|
@@ -590,7 +586,7 @@ static VALUE rb_gsl_blas_dsymv2(int argc, VALUE *argv, VALUE obj)
|
|
590
586
|
case T_CLASS:
|
591
587
|
case T_OBJECT:
|
592
588
|
if (argc < 4) rb_raise(rb_eArgError, "wrong number of arguments (%d for >= 4)",
|
593
|
-
|
589
|
+
argc);
|
594
590
|
CHECK_FIXNUM(argv[0]);
|
595
591
|
Need_Float(argv[1]);
|
596
592
|
CHECK_MATRIX(argv[2]);
|
@@ -604,7 +600,7 @@ static VALUE rb_gsl_blas_dsymv2(int argc, VALUE *argv, VALUE obj)
|
|
604
600
|
default:
|
605
601
|
Data_Get_Struct(obj, gsl_matrix, A);
|
606
602
|
if (argc < 3) rb_raise(rb_eArgError, "wrong number of arguments (%d for >= 3)",
|
607
|
-
|
603
|
+
argc);
|
608
604
|
CHECK_FIXNUM(argv[0]);
|
609
605
|
Need_Float(argv[1]);
|
610
606
|
CHECK_VECTOR(argv[2]);
|
@@ -648,7 +644,7 @@ static VALUE rb_gsl_blas_zhemv(int argc, VALUE *argv, VALUE obj)
|
|
648
644
|
case T_CLASS:
|
649
645
|
case T_OBJECT:
|
650
646
|
if (argc < 4) rb_raise(rb_eArgError, "wrong number of arguments (%d for >= 4)",
|
651
|
-
|
647
|
+
argc);
|
652
648
|
CHECK_FIXNUM(argv[0]);
|
653
649
|
CHECK_COMPLEX(argv[1]);
|
654
650
|
CHECK_MATRIX_COMPLEX(argv[2]);
|
@@ -662,7 +658,7 @@ static VALUE rb_gsl_blas_zhemv(int argc, VALUE *argv, VALUE obj)
|
|
662
658
|
default:
|
663
659
|
Data_Get_Struct(obj, gsl_matrix_complex, A);
|
664
660
|
if (argc < 3) rb_raise(rb_eArgError, "wrong number of arguments (%d for >= 3)",
|
665
|
-
|
661
|
+
argc);
|
666
662
|
CHECK_FIXNUM(argv[0]);
|
667
663
|
CHECK_COMPLEX(argv[1]);
|
668
664
|
CHECK_VECTOR_COMPLEX(argv[2]);
|
@@ -692,7 +688,6 @@ static VALUE rb_gsl_blas_zhemv(int argc, VALUE *argv, VALUE obj)
|
|
692
688
|
gsl_blas_zhemv(type, *a, A, x, *b, y);
|
693
689
|
if (flag == 1) return Data_Wrap_Struct(cgsl_vector_complex, 0, gsl_vector_complex_free, y);
|
694
690
|
else return argv[argc-1];
|
695
|
-
|
696
691
|
}
|
697
692
|
|
698
693
|
static VALUE rb_gsl_blas_zhemv2(int argc, VALUE *argv, VALUE obj)
|
@@ -706,7 +701,7 @@ static VALUE rb_gsl_blas_zhemv2(int argc, VALUE *argv, VALUE obj)
|
|
706
701
|
case T_CLASS:
|
707
702
|
case T_OBJECT:
|
708
703
|
if (argc < 4) rb_raise(rb_eArgError, "wrong number of arguments (%d for >= 4)",
|
709
|
-
|
704
|
+
argc);
|
710
705
|
CHECK_FIXNUM(argv[0]);
|
711
706
|
CHECK_COMPLEX(argv[1]);
|
712
707
|
CHECK_MATRIX_COMPLEX(argv[2]);
|
@@ -720,7 +715,7 @@ static VALUE rb_gsl_blas_zhemv2(int argc, VALUE *argv, VALUE obj)
|
|
720
715
|
default:
|
721
716
|
Data_Get_Struct(obj, gsl_matrix_complex, A);
|
722
717
|
if (argc < 3) rb_raise(rb_eArgError, "wrong number of arguments (%d for >= 3)",
|
723
|
-
|
718
|
+
argc);
|
724
719
|
CHECK_FIXNUM(argv[0]);
|
725
720
|
CHECK_COMPLEX(argv[1]);
|
726
721
|
CHECK_VECTOR_COMPLEX(argv[2]);
|
@@ -760,7 +755,7 @@ static VALUE rb_gsl_blas_dger(VALUE obj, VALUE aa, VALUE xx, VALUE yy, VALUE AA)
|
|
760
755
|
gsl_vector *x = NULL, *y = NULL;
|
761
756
|
double a;
|
762
757
|
Need_Float(aa);
|
763
|
-
CHECK_VECTOR(xx); CHECK_VECTOR(yy);
|
758
|
+
CHECK_VECTOR(xx); CHECK_VECTOR(yy);
|
764
759
|
CHECK_MATRIX(AA);
|
765
760
|
a = NUM2DBL(aa);
|
766
761
|
Data_Get_Struct(xx, gsl_vector, x);
|
@@ -776,7 +771,7 @@ static VALUE rb_gsl_blas_dger2(VALUE obj, VALUE aa, VALUE xx, VALUE yy, VALUE AA
|
|
776
771
|
gsl_vector *x = NULL, *y = NULL;
|
777
772
|
double a;
|
778
773
|
Need_Float(aa);
|
779
|
-
CHECK_VECTOR(xx); CHECK_VECTOR(yy);
|
774
|
+
CHECK_VECTOR(xx); CHECK_VECTOR(yy);
|
780
775
|
CHECK_MATRIX(AA);
|
781
776
|
a = NUM2DBL(aa);
|
782
777
|
Data_Get_Struct(xx, gsl_vector, x);
|
@@ -794,7 +789,7 @@ static VALUE rb_gsl_blas_zgeru(VALUE obj, VALUE aa, VALUE xx, VALUE yy, VALUE AA
|
|
794
789
|
gsl_vector_complex *x = NULL, *y = NULL;
|
795
790
|
gsl_complex *a;
|
796
791
|
CHECK_COMPLEX(aa);
|
797
|
-
CHECK_VECTOR_COMPLEX(xx);CHECK_VECTOR_COMPLEX(yy);
|
792
|
+
CHECK_VECTOR_COMPLEX(xx); CHECK_VECTOR_COMPLEX(yy);
|
798
793
|
CHECK_MATRIX_COMPLEX(AA);
|
799
794
|
Data_Get_Struct(aa, gsl_complex, a);
|
800
795
|
Data_Get_Struct(xx, gsl_vector_complex, x);
|
@@ -810,7 +805,7 @@ static VALUE rb_gsl_blas_zgeru2(VALUE obj, VALUE aa, VALUE xx, VALUE yy, VALUE A
|
|
810
805
|
gsl_vector_complex *x = NULL, *y = NULL;
|
811
806
|
gsl_complex *a;
|
812
807
|
CHECK_COMPLEX(aa);
|
813
|
-
CHECK_VECTOR_COMPLEX(xx);CHECK_VECTOR_COMPLEX(yy);
|
808
|
+
CHECK_VECTOR_COMPLEX(xx); CHECK_VECTOR_COMPLEX(yy);
|
814
809
|
CHECK_MATRIX_COMPLEX(AA);
|
815
810
|
Data_Get_Struct(aa, gsl_complex, a);
|
816
811
|
Data_Get_Struct(xx, gsl_vector_complex, x);
|
@@ -828,7 +823,7 @@ static VALUE rb_gsl_blas_zgerc(VALUE obj, VALUE aa, VALUE xx, VALUE yy, VALUE AA
|
|
828
823
|
gsl_vector_complex *x = NULL, *y = NULL;
|
829
824
|
gsl_complex *a;
|
830
825
|
CHECK_COMPLEX(aa);
|
831
|
-
CHECK_VECTOR_COMPLEX(xx);CHECK_VECTOR_COMPLEX(yy);
|
826
|
+
CHECK_VECTOR_COMPLEX(xx); CHECK_VECTOR_COMPLEX(yy);
|
832
827
|
CHECK_MATRIX_COMPLEX(AA);
|
833
828
|
Data_Get_Struct(aa, gsl_complex, a);
|
834
829
|
Data_Get_Struct(xx, gsl_vector_complex, x);
|
@@ -844,7 +839,7 @@ static VALUE rb_gsl_blas_zgerc2(VALUE obj, VALUE aa, VALUE xx, VALUE yy, VALUE A
|
|
844
839
|
gsl_vector_complex *x = NULL, *y = NULL;
|
845
840
|
gsl_complex *a;
|
846
841
|
CHECK_COMPLEX(aa);
|
847
|
-
CHECK_VECTOR_COMPLEX(xx);CHECK_VECTOR_COMPLEX(yy);
|
842
|
+
CHECK_VECTOR_COMPLEX(xx); CHECK_VECTOR_COMPLEX(yy);
|
848
843
|
CHECK_MATRIX_COMPLEX(AA);
|
849
844
|
Data_Get_Struct(aa, gsl_complex, a);
|
850
845
|
Data_Get_Struct(xx, gsl_vector_complex, x);
|
@@ -920,8 +915,8 @@ static VALUE rb_gsl_blas_zher_a(VALUE obj, VALUE tt, VALUE aa, VALUE xx, VALUE A
|
|
920
915
|
return Data_Wrap_Struct(cgsl_matrix_complex, 0, gsl_matrix_complex_free, Anew);
|
921
916
|
}
|
922
917
|
|
923
|
-
static VALUE rb_gsl_blas_dsyr2(VALUE obj, VALUE tt, VALUE aa, VALUE xx,
|
924
|
-
|
918
|
+
static VALUE rb_gsl_blas_dsyr2(VALUE obj, VALUE tt, VALUE aa, VALUE xx,
|
919
|
+
VALUE yy, VALUE AA)
|
925
920
|
{
|
926
921
|
gsl_matrix *A = NULL;
|
927
922
|
gsl_vector *x = NULL, *y = NULL;
|
@@ -937,8 +932,8 @@ static VALUE rb_gsl_blas_dsyr2(VALUE obj, VALUE tt, VALUE aa, VALUE xx,
|
|
937
932
|
return AA;
|
938
933
|
}
|
939
934
|
|
940
|
-
static VALUE rb_gsl_blas_dsyr2_a(VALUE obj, VALUE tt, VALUE aa, VALUE xx,
|
941
|
-
|
935
|
+
static VALUE rb_gsl_blas_dsyr2_a(VALUE obj, VALUE tt, VALUE aa, VALUE xx,
|
936
|
+
VALUE yy, VALUE AA)
|
942
937
|
{
|
943
938
|
gsl_matrix *A = NULL, *Anew = NULL;
|
944
939
|
gsl_vector *x = NULL, *y = NULL;
|
@@ -956,8 +951,8 @@ static VALUE rb_gsl_blas_dsyr2_a(VALUE obj, VALUE tt, VALUE aa, VALUE xx,
|
|
956
951
|
return Data_Wrap_Struct(cgsl_matrix, 0, gsl_matrix_free, Anew);
|
957
952
|
}
|
958
953
|
|
959
|
-
static VALUE rb_gsl_blas_zher2(VALUE obj, VALUE tt, VALUE aa, VALUE xx,
|
960
|
-
|
954
|
+
static VALUE rb_gsl_blas_zher2(VALUE obj, VALUE tt, VALUE aa, VALUE xx,
|
955
|
+
VALUE yy, VALUE AA)
|
961
956
|
{
|
962
957
|
gsl_matrix_complex *A = NULL;
|
963
958
|
gsl_vector_complex *x = NULL, *y = NULL;
|
@@ -973,8 +968,8 @@ static VALUE rb_gsl_blas_zher2(VALUE obj, VALUE tt, VALUE aa, VALUE xx,
|
|
973
968
|
return AA;
|
974
969
|
}
|
975
970
|
|
976
|
-
static VALUE rb_gsl_blas_zher2_a(VALUE obj, VALUE tt, VALUE aa, VALUE xx,
|
977
|
-
|
971
|
+
static VALUE rb_gsl_blas_zher2_a(VALUE obj, VALUE tt, VALUE aa, VALUE xx,
|
972
|
+
VALUE yy, VALUE AA)
|
978
973
|
{
|
979
974
|
gsl_matrix_complex *A = NULL, *Anew = NULL;
|
980
975
|
gsl_vector_complex *x = NULL, *y = NULL;
|