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
@@ -14,25 +14,22 @@
|
|
14
14
|
which are provided by the GSL source.
|
15
15
|
*/
|
16
16
|
|
17
|
-
#include "
|
18
|
-
#include "
|
19
|
-
#include "
|
20
|
-
#include "
|
21
|
-
#include "
|
22
|
-
#ifdef HAVE_NARRAY_H
|
23
|
-
#include "rb_gsl_with_narray.h"
|
24
|
-
#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"
|
25
22
|
|
26
23
|
#define BASE_DOUBLE
|
27
|
-
#include "templates_on.h"
|
28
|
-
#include "vector_source.
|
29
|
-
#include "templates_off.h"
|
24
|
+
#include "include/templates_on.h"
|
25
|
+
#include "vector_source.h"
|
26
|
+
#include "include/templates_off.h"
|
30
27
|
#undef BASE_DOUBLE
|
31
28
|
|
32
29
|
#define BASE_INT
|
33
|
-
#include "templates_on.h"
|
34
|
-
#include "vector_source.
|
35
|
-
#include "templates_off.h"
|
30
|
+
#include "include/templates_on.h"
|
31
|
+
#include "vector_source.h"
|
32
|
+
#include "include/templates_off.h"
|
36
33
|
#undef BASE_INT
|
37
34
|
|
38
35
|
|
@@ -8,9 +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
|
-
|
12
|
-
#include "rb_gsl_array.h"
|
13
|
-
#include "rb_gsl_complex.h"
|
11
|
+
|
12
|
+
#include "include/rb_gsl_array.h"
|
13
|
+
#include "include/rb_gsl_complex.h"
|
14
14
|
|
15
15
|
EXTERN VALUE cgsl_complex;
|
16
16
|
static VALUE rb_gsl_vector_complex_inner_product(int argc, VALUE *argv, VALUE obj);
|
@@ -21,7 +21,7 @@ void get_range_beg_en_n(VALUE range, double *beg, double *en, size_t *n, int *st
|
|
21
21
|
//
|
22
22
|
// From vector_source.c
|
23
23
|
void parse_subvector_args(int argc, VALUE *argv, size_t size,
|
24
|
-
|
24
|
+
size_t *offset, size_t *stride, size_t *n);
|
25
25
|
|
26
26
|
// From complex.c
|
27
27
|
gsl_complex rb_gsl_obj_to_gsl_complex(VALUE obj, gsl_complex *z);
|
@@ -41,30 +41,30 @@ static VALUE rb_gsl_vector_complex_new(int argc, VALUE *argv, VALUE klass)
|
|
41
41
|
v = gsl_vector_complex_calloc(n);
|
42
42
|
if (v == NULL) rb_raise(rb_eNoMemError, "gsl_vector_complex_alloc failed");
|
43
43
|
break;
|
44
|
-
case T_ARRAY:
|
44
|
+
case T_ARRAY:
|
45
45
|
n = RARRAY_LEN(argv[0]);
|
46
46
|
v = gsl_vector_complex_alloc(n);
|
47
47
|
if (v == NULL) rb_raise(rb_eNoMemError, "gsl_vector_complex_alloc failed");
|
48
48
|
for (i = 0; i < n; i++) {
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
49
|
+
z2 = &z;
|
50
|
+
tmp = rb_ary_entry(argv[0], i);
|
51
|
+
if (TYPE(tmp) == T_ARRAY) {
|
52
|
+
GSL_SET_REAL(z2, NUM2DBL(rb_ary_entry(tmp, 0)));
|
53
|
+
GSL_SET_IMAG(z2, NUM2DBL(rb_ary_entry(tmp, 1)));
|
54
|
+
} else if (COMPLEX_P(tmp)) {
|
55
|
+
Data_Get_Struct(tmp, gsl_complex, z2);
|
56
|
+
} else {
|
57
|
+
rb_raise(rb_eTypeError,
|
58
|
+
"wrong argument type %s (Array or Complex expected)",
|
59
|
+
rb_class2name(CLASS_OF(tmp)));
|
60
|
+
|
61
|
+
}
|
62
|
+
gsl_vector_complex_set(v, i, *z2);
|
63
63
|
}
|
64
64
|
break;
|
65
65
|
default:
|
66
|
-
rb_raise(rb_eTypeError,
|
67
|
-
|
66
|
+
rb_raise(rb_eTypeError,
|
67
|
+
"wrong argument type %s", rb_class2name(CLASS_OF(argv[0])));
|
68
68
|
break;
|
69
69
|
}
|
70
70
|
break;
|
@@ -75,9 +75,9 @@ static VALUE rb_gsl_vector_complex_new(int argc, VALUE *argv, VALUE klass)
|
|
75
75
|
n = GSL_MIN_INT(x->size, y->size);
|
76
76
|
v = gsl_vector_complex_alloc(n);
|
77
77
|
for (i = 0; i < n; i++) {
|
78
|
-
|
79
|
-
|
80
|
-
|
78
|
+
z.dat[0] = gsl_vector_get(x, i);
|
79
|
+
z.dat[1] = gsl_vector_get(y, i);
|
80
|
+
gsl_vector_complex_set(v, i, z);
|
81
81
|
}
|
82
82
|
break;
|
83
83
|
}
|
@@ -86,15 +86,15 @@ static VALUE rb_gsl_vector_complex_new(int argc, VALUE *argv, VALUE klass)
|
|
86
86
|
if (v == NULL) rb_raise(rb_eNoMemError, "gsl_vector_complex_alloc failed");
|
87
87
|
for (i = 0; i < n; i++) {
|
88
88
|
if (TYPE(argv[i]) == T_ARRAY) {
|
89
|
-
|
90
|
-
|
91
|
-
|
89
|
+
GSL_SET_REAL(&z, NUM2DBL(rb_ary_entry(argv[i], 0)));
|
90
|
+
GSL_SET_IMAG(&z, NUM2DBL(rb_ary_entry(argv[i], 1)));
|
91
|
+
z2 = &z;
|
92
92
|
} else if (COMPLEX_P(argv[i])) {
|
93
|
-
|
93
|
+
Data_Get_Struct(argv[i], gsl_complex, z2);
|
94
94
|
} else {
|
95
|
-
|
96
|
-
|
97
|
-
|
95
|
+
rb_raise(rb_eTypeError,
|
96
|
+
"wrong argument type %s (Array or Complex expected)",
|
97
|
+
rb_class2name(CLASS_OF(argv[i])));
|
98
98
|
}
|
99
99
|
gsl_vector_complex_set(v, i, *z2);
|
100
100
|
}
|
@@ -175,9 +175,9 @@ static VALUE rb_gsl_vector_complex_get(int argc, VALUE *argv, VALUE obj)
|
|
175
175
|
case T_ARRAY:
|
176
176
|
vnew = gsl_vector_complex_alloc(RARRAY_LEN(argv[0]));
|
177
177
|
for (j = 0; j < vnew->size; j++) {
|
178
|
-
|
179
|
-
|
180
|
-
|
178
|
+
i = FIX2INT(rb_ary_entry(argv[0], j));
|
179
|
+
if (i < 0) i = v->size + i;
|
180
|
+
gsl_vector_complex_set(vnew, j, gsl_vector_complex_get(v, i));
|
181
181
|
}
|
182
182
|
retval = Data_Wrap_Struct(cgsl_vector_complex, 0, gsl_vector_complex_free, vnew);
|
183
183
|
break;
|
@@ -207,7 +207,6 @@ static VALUE rb_gsl_vector_complex_set_all(int argc, VALUE *argv, VALUE obj)
|
|
207
207
|
gsl_complex tmp;
|
208
208
|
|
209
209
|
if (argc < 1) rb_raise(rb_eArgError, "wrong number of arguments");
|
210
|
-
|
211
210
|
Data_Get_Struct(obj, gsl_vector_complex, v);
|
212
211
|
|
213
212
|
switch (argc) {
|
@@ -250,7 +249,7 @@ void rb_gsl_vector_complex_set_subvector(int argc, VALUE *argv, gsl_vector_compl
|
|
250
249
|
gsl_vector_complex_memcpy(&vv.vector, vother);
|
251
250
|
} else if(rb_obj_is_kind_of(other, rb_cArray)) {
|
252
251
|
// TODO Support other forms of Array contents as well
|
253
|
-
if(n != RARRAY_LEN(other)) {
|
252
|
+
if((int) n != RARRAY_LEN(other)) {
|
254
253
|
rb_raise(rb_eRangeError, "lengths do not match (%d != %d)", (int) n, (int) RARRAY_LEN(other));
|
255
254
|
}
|
256
255
|
for(i = 0; i < n; i++) {
|
@@ -284,7 +283,6 @@ static VALUE rb_gsl_vector_complex_set(int argc, VALUE *argv, VALUE obj)
|
|
284
283
|
if(argc < 1 || argc > 4) {
|
285
284
|
rb_raise(rb_eArgError, "wrong number of arguments (%d for 1-4)", argc);
|
286
285
|
}
|
287
|
-
|
288
286
|
Data_Get_Struct(obj, gsl_vector_complex, v);
|
289
287
|
other = argv[argc-1];
|
290
288
|
|
@@ -309,7 +307,6 @@ static VALUE rb_gsl_vector_complex_set(int argc, VALUE *argv, VALUE obj)
|
|
309
307
|
// assignment to v.subvector(...)
|
310
308
|
rb_gsl_vector_complex_set_subvector(argc-1, argv, v, other);
|
311
309
|
}
|
312
|
-
|
313
310
|
return obj;
|
314
311
|
}
|
315
312
|
|
@@ -335,10 +332,11 @@ static VALUE rb_gsl_vector_complex_reverse_each(VALUE obj)
|
|
335
332
|
gsl_complex * zp;
|
336
333
|
size_t i;
|
337
334
|
Data_Get_Struct(obj, gsl_vector_complex, v);
|
338
|
-
for (i = v->size-1
|
335
|
+
for (i = v->size-1;; i--) {
|
339
336
|
vz = Data_Make_Struct(cgsl_complex, gsl_complex, 0, free, zp);
|
340
337
|
*zp = gsl_vector_complex_get(v, i);
|
341
338
|
rb_yield(vz);
|
339
|
+
if (i == 0) break;
|
342
340
|
}
|
343
341
|
return obj;
|
344
342
|
}
|
@@ -357,7 +355,7 @@ static VALUE rb_gsl_vector_complex_reverse_each_index(VALUE obj)
|
|
357
355
|
gsl_vector_complex *v = NULL;
|
358
356
|
size_t i;
|
359
357
|
Data_Get_Struct(obj, gsl_vector_complex, v);
|
360
|
-
for (i = v->size-1
|
358
|
+
for (i = v->size-1;; i--) {
|
361
359
|
rb_yield(INT2FIX(i));
|
362
360
|
if (i == 0) break;
|
363
361
|
}
|
@@ -427,15 +425,15 @@ static VALUE rb_gsl_vector_complex_to_s(VALUE obj)
|
|
427
425
|
if (VECTOR_COMPLEX_COL_P(obj)) {
|
428
426
|
for (i = 0; i < v->size; i++) {
|
429
427
|
if (i != 0) {
|
430
|
-
|
428
|
+
rb_str_cat(str, " ", 2);
|
431
429
|
}
|
432
430
|
z = GSL_COMPLEX_AT(v, i);
|
433
431
|
sprintf(buf, "[%4.3e %4.3e]", GSL_REAL(*z), GSL_IMAG(*z));
|
434
432
|
if (i != v->size-1) strcat(buf, "\n");
|
435
433
|
rb_str_cat(str, buf, strlen(buf));
|
436
434
|
if (i >= 10 && i != v->size-1) {
|
437
|
-
|
438
|
-
|
435
|
+
rb_str_cat(str, " ...", 5);
|
436
|
+
break;
|
439
437
|
}
|
440
438
|
}
|
441
439
|
} else {
|
@@ -447,8 +445,8 @@ static VALUE rb_gsl_vector_complex_to_s(VALUE obj)
|
|
447
445
|
sprintf(buf, " [%4.3e %4.3e]", GSL_REAL(*z), GSL_IMAG(*z));
|
448
446
|
rb_str_cat(str, buf, strlen(buf));
|
449
447
|
if (i >= 10 && i != v->size-1) {
|
450
|
-
|
451
|
-
|
448
|
+
rb_str_cat(str, " ...", 4);
|
449
|
+
break;
|
452
450
|
}
|
453
451
|
}
|
454
452
|
}
|
@@ -628,10 +626,10 @@ static VALUE rb_gsl_vector_complex_conj(VALUE obj)
|
|
628
626
|
gsl_vector_complex *vout = NULL;
|
629
627
|
Data_Get_Struct(obj, gsl_vector_complex, vin);
|
630
628
|
vout = gsl_vector_complex_alloc(vin->size);
|
631
|
-
for(i=0; i<vin->size; i++) {
|
629
|
+
for(i = 0; i<vin->size; i++) {
|
632
630
|
gsl_vector_complex_set(vout, i,
|
633
|
-
|
634
|
-
|
631
|
+
gsl_complex_conjugate(
|
632
|
+
gsl_vector_complex_get(vin, i)));
|
635
633
|
}
|
636
634
|
return Data_Wrap_Struct(VECTOR_COMPLEX_ROW_COL(obj), 0, gsl_vector_complex_free, vout);
|
637
635
|
}
|
@@ -641,10 +639,10 @@ static VALUE rb_gsl_vector_complex_conj_bang(VALUE obj)
|
|
641
639
|
size_t i;
|
642
640
|
gsl_vector_complex *v = NULL;
|
643
641
|
Data_Get_Struct(obj, gsl_vector_complex, v);
|
644
|
-
for(i=0; i<v->size; i++) {
|
642
|
+
for(i = 0; i<v->size; i++) {
|
645
643
|
gsl_vector_complex_set(v, i,
|
646
|
-
|
647
|
-
|
644
|
+
gsl_complex_conjugate(
|
645
|
+
gsl_vector_complex_get(v, i)));
|
648
646
|
}
|
649
647
|
return obj;
|
650
648
|
}
|
@@ -657,7 +655,7 @@ static VALUE rb_gsl_vector_complex_to_a(VALUE obj)
|
|
657
655
|
VALUE ary;
|
658
656
|
Data_Get_Struct(obj, gsl_vector_complex, c);
|
659
657
|
ary = rb_ary_new2(c->size*2);
|
660
|
-
for (i = 0, j = 0; i < c->size; i++, j+=2) {
|
658
|
+
for (i = 0, j = 0; i < c->size; i++, j += 2) {
|
661
659
|
z = GSL_COMPLEX_AT(c, i);
|
662
660
|
rb_ary_store(ary, j, rb_float_new(GSL_REAL(*z)));
|
663
661
|
rb_ary_store(ary, j+1, rb_float_new(GSL_IMAG(*z)));
|
@@ -769,7 +767,7 @@ static VALUE rb_gsl_vector_complex_reverse2(VALUE obj)
|
|
769
767
|
vnew = gsl_vector_complex_alloc(v->size);
|
770
768
|
gsl_vector_complex_memcpy(vnew, v);
|
771
769
|
gsl_vector_complex_reverse(vnew);
|
772
|
-
if (VECTOR_COMPLEX_ROW_P(obj))
|
770
|
+
if (VECTOR_COMPLEX_ROW_P(obj))
|
773
771
|
return Data_Wrap_Struct(cgsl_vector_complex, 0, gsl_vector_complex_free, vnew);
|
774
772
|
else
|
775
773
|
return Data_Wrap_Struct(cgsl_vector_complex_col, 0, gsl_vector_complex_free, vnew);
|
@@ -806,7 +804,6 @@ static VALUE rb_gsl_vector_complex_fftshift_bang(VALUE obj)
|
|
806
804
|
gsl_vector_complex_swap_elements(v, i, i+n/2);
|
807
805
|
}
|
808
806
|
}
|
809
|
-
|
810
807
|
return obj;
|
811
808
|
}
|
812
809
|
|
@@ -828,7 +825,7 @@ static VALUE rb_gsl_vector_complex_fftshift(VALUE obj)
|
|
828
825
|
vvnew = gsl_vector_complex_subvector(vnew, 0, n/2);
|
829
826
|
gsl_vector_complex_memcpy(&vvnew.vector, &vv.vector);
|
830
827
|
|
831
|
-
return Data_Wrap_Struct(VECTOR_COMPLEX_ROW_COL(obj), 0, gsl_vector_complex_free, vnew);
|
828
|
+
return Data_Wrap_Struct(VECTOR_COMPLEX_ROW_COL(obj), 0, gsl_vector_complex_free, vnew);
|
832
829
|
}
|
833
830
|
|
834
831
|
static VALUE rb_gsl_vector_complex_ifftshift_bang(VALUE obj)
|
@@ -853,14 +850,13 @@ static VALUE rb_gsl_vector_complex_ifftshift_bang(VALUE obj)
|
|
853
850
|
gsl_vector_complex_swap_elements(v, i, i+n/2);
|
854
851
|
}
|
855
852
|
}
|
856
|
-
|
857
853
|
return obj;
|
858
854
|
}
|
859
855
|
|
860
856
|
static VALUE rb_gsl_vector_complex_ifftshift(VALUE obj)
|
861
857
|
{
|
862
858
|
return rb_gsl_vector_complex_ifftshift_bang(rb_gsl_vector_complex_clone(obj));
|
863
|
-
gsl_vector_complex *v, *vnew;
|
859
|
+
/*gsl_vector_complex *v, *vnew;
|
864
860
|
gsl_vector_complex_view vv, vvnew;
|
865
861
|
size_t n;
|
866
862
|
|
@@ -876,7 +872,7 @@ static VALUE rb_gsl_vector_complex_ifftshift(VALUE obj)
|
|
876
872
|
vvnew = gsl_vector_complex_subvector(v, (n+1)/2, n/2);
|
877
873
|
gsl_vector_complex_memcpy(&vvnew.vector, &vv.vector);
|
878
874
|
|
879
|
-
return Data_Wrap_Struct(VECTOR_COMPLEX_ROW_COL(obj), 0, gsl_vector_complex_free, vnew);
|
875
|
+
return Data_Wrap_Struct(VECTOR_COMPLEX_ROW_COL(obj), 0, gsl_vector_complex_free, vnew); */
|
880
876
|
}
|
881
877
|
|
882
878
|
static VALUE rb_gsl_vector_complex_isnull(VALUE obj)
|
@@ -899,8 +895,8 @@ static VALUE rb_gsl_vector_complex_matrix_view(int argc, VALUE *argv, VALUE obj)
|
|
899
895
|
break;
|
900
896
|
case 3:
|
901
897
|
mv = gsl_matrix_complex_view_alloc();
|
902
|
-
*mv = gsl_matrix_complex_view_vector_with_tda(v, FIX2INT(argv[0]), FIX2INT(argv[1]),
|
903
|
-
|
898
|
+
*mv = gsl_matrix_complex_view_vector_with_tda(v, FIX2INT(argv[0]), FIX2INT(argv[1]),
|
899
|
+
FIX2INT(argv[2]));
|
904
900
|
break;
|
905
901
|
default:
|
906
902
|
rb_raise(rb_eArgError, "wrong number of arguments (%d for 2 or 3)", argc);
|
@@ -910,7 +906,7 @@ static VALUE rb_gsl_vector_complex_matrix_view(int argc, VALUE *argv, VALUE obj)
|
|
910
906
|
}
|
911
907
|
|
912
908
|
static VALUE rb_gsl_vector_complex_matrix_view_with_tda(VALUE obj, VALUE nn1, VALUE nn2,
|
913
|
-
|
909
|
+
VALUE tda)
|
914
910
|
{
|
915
911
|
gsl_vector_complex *v = NULL;
|
916
912
|
gsl_matrix_complex_view *mv = NULL;
|
@@ -927,9 +923,9 @@ static VALUE rb_gsl_vector_complex_trans(VALUE obj)
|
|
927
923
|
gsl_vector_complex *v = NULL, *vnew = NULL;
|
928
924
|
Data_Get_Struct(obj, gsl_vector_complex, v);
|
929
925
|
vnew = make_vector_complex_clone(v);
|
930
|
-
if (VECTOR_COMPLEX_ROW_P(obj))
|
926
|
+
if (VECTOR_COMPLEX_ROW_P(obj))
|
931
927
|
return Data_Wrap_Struct(cgsl_vector_complex_col, 0, gsl_vector_complex_free, vnew);
|
932
|
-
else if (VECTOR_COMPLEX_COL_P(obj))
|
928
|
+
else if (VECTOR_COMPLEX_COL_P(obj))
|
933
929
|
return Data_Wrap_Struct(cgsl_vector_complex, 0, gsl_vector_complex_free, vnew);
|
934
930
|
else {
|
935
931
|
rb_raise(rb_eTypeError, "wrong type");
|
@@ -938,13 +934,13 @@ static VALUE rb_gsl_vector_complex_trans(VALUE obj)
|
|
938
934
|
|
939
935
|
static VALUE rb_gsl_vector_complex_trans2(VALUE obj)
|
940
936
|
{
|
941
|
-
if (CLASS_OF(obj) == cgsl_vector_complex)
|
942
|
-
|
943
|
-
else if (CLASS_OF(obj) == cgsl_vector_complex_col)
|
944
|
-
|
937
|
+
if (CLASS_OF(obj) == cgsl_vector_complex)
|
938
|
+
RBGSL_SET_CLASS(obj, cgsl_vector_complex_col);
|
939
|
+
else if (CLASS_OF(obj) == cgsl_vector_complex_col)
|
940
|
+
RBGSL_SET_CLASS(obj, cgsl_vector_complex);
|
945
941
|
else {
|
946
942
|
rb_raise(rb_eRuntimeError, "method trans! for %s is forbidden",
|
947
|
-
|
943
|
+
rb_class2name(CLASS_OF(obj)));
|
948
944
|
}
|
949
945
|
return obj;
|
950
946
|
}
|
@@ -981,7 +977,7 @@ enum {
|
|
981
977
|
|
982
978
|
static VALUE rb_gsl_vector_complex_arithmetics(int flag, VALUE obj, VALUE bb);
|
983
979
|
|
984
|
-
static VALUE rb_gsl_vector_complex_arithmetics(int flag, VALUE obj, VALUE bb)
|
980
|
+
static VALUE rb_gsl_vector_complex_arithmetics(int flag, VALUE obj, VALUE bb)
|
985
981
|
{
|
986
982
|
gsl_vector *b = NULL;
|
987
983
|
gsl_vector_complex *cv = NULL, *cvnew = NULL, *cb = NULL;
|
@@ -1036,20 +1032,20 @@ static VALUE rb_gsl_vector_complex_arithmetics(int flag, VALUE obj, VALUE bb)
|
|
1036
1032
|
switch (flag) {
|
1037
1033
|
case GSL_VECTOR_COMPLEX_ADD:
|
1038
1034
|
case GSL_VECTOR_COMPLEX_ADD_BANG:
|
1039
|
-
|
1040
|
-
|
1035
|
+
gsl_vector_complex_add(cvnew, cb);
|
1036
|
+
break;
|
1041
1037
|
case GSL_VECTOR_COMPLEX_SUB:
|
1042
1038
|
case GSL_VECTOR_COMPLEX_SUB_BANG:
|
1043
|
-
|
1044
|
-
|
1039
|
+
gsl_vector_complex_sub(cvnew, cb);
|
1040
|
+
break;
|
1045
1041
|
case GSL_VECTOR_COMPLEX_MUL:
|
1046
1042
|
case GSL_VECTOR_COMPLEX_MUL_BANG:
|
1047
|
-
|
1048
|
-
|
1043
|
+
gsl_vector_complex_mul(cvnew, cb);
|
1044
|
+
break;
|
1049
1045
|
case GSL_VECTOR_COMPLEX_DIV:
|
1050
1046
|
case GSL_VECTOR_COMPLEX_DIV_BANG:
|
1051
|
-
|
1052
|
-
|
1047
|
+
gsl_vector_complex_div(cvnew, cb);
|
1048
|
+
break;
|
1053
1049
|
}
|
1054
1050
|
gsl_vector_complex_free(cb);
|
1055
1051
|
} else if (VECTOR_COMPLEX_P(bb)) {
|
@@ -1057,40 +1053,40 @@ static VALUE rb_gsl_vector_complex_arithmetics(int flag, VALUE obj, VALUE bb)
|
|
1057
1053
|
switch (flag) {
|
1058
1054
|
case GSL_VECTOR_COMPLEX_ADD:
|
1059
1055
|
case GSL_VECTOR_COMPLEX_ADD_BANG:
|
1060
|
-
|
1061
|
-
|
1056
|
+
gsl_vector_complex_add(cvnew, cb);
|
1057
|
+
break;
|
1062
1058
|
case GSL_VECTOR_COMPLEX_SUB:
|
1063
1059
|
case GSL_VECTOR_COMPLEX_SUB_BANG:
|
1064
|
-
|
1065
|
-
|
1060
|
+
gsl_vector_complex_sub(cvnew, cb);
|
1061
|
+
break;
|
1066
1062
|
case GSL_VECTOR_COMPLEX_MUL:
|
1067
1063
|
case GSL_VECTOR_COMPLEX_MUL_BANG:
|
1068
|
-
|
1069
|
-
|
1064
|
+
gsl_vector_complex_mul(cvnew, cb);
|
1065
|
+
break;
|
1070
1066
|
case GSL_VECTOR_COMPLEX_DIV:
|
1071
1067
|
case GSL_VECTOR_COMPLEX_DIV_BANG:
|
1072
|
-
|
1073
|
-
|
1068
|
+
gsl_vector_complex_div(cvnew, cb);
|
1069
|
+
break;
|
1074
1070
|
}
|
1075
1071
|
} else if (COMPLEX_P(bb)) {
|
1076
1072
|
Data_Get_Struct(bb, gsl_complex, c);
|
1077
1073
|
switch (flag) {
|
1078
1074
|
case GSL_VECTOR_COMPLEX_ADD:
|
1079
1075
|
case GSL_VECTOR_COMPLEX_ADD_BANG:
|
1080
|
-
|
1081
|
-
|
1076
|
+
gsl_vector_complex_add_constant(cvnew, *c);
|
1077
|
+
break;
|
1082
1078
|
case GSL_VECTOR_COMPLEX_SUB:
|
1083
1079
|
case GSL_VECTOR_COMPLEX_SUB_BANG:
|
1084
|
-
|
1085
|
-
|
1080
|
+
gsl_vector_complex_add_constant(cvnew, gsl_complex_negative(*c));
|
1081
|
+
break;
|
1086
1082
|
case GSL_VECTOR_COMPLEX_MUL:
|
1087
1083
|
case GSL_VECTOR_COMPLEX_MUL_BANG:
|
1088
|
-
|
1089
|
-
|
1084
|
+
gsl_vector_complex_scale(cvnew, *c);
|
1085
|
+
break;
|
1090
1086
|
case GSL_VECTOR_COMPLEX_DIV:
|
1091
1087
|
case GSL_VECTOR_COMPLEX_DIV_BANG:
|
1092
|
-
|
1093
|
-
|
1088
|
+
gsl_vector_complex_scale(cvnew, gsl_complex_inverse(*c));
|
1089
|
+
break;
|
1094
1090
|
}
|
1095
1091
|
} else {
|
1096
1092
|
rb_raise(rb_eTypeError, "wrong type argument %s", rb_class2name(CLASS_OF(bb)));
|
@@ -1185,22 +1181,22 @@ static VALUE rb_gsl_vector_complex_inner_product(int argc, VALUE *argv, VALUE ob
|
|
1185
1181
|
case T_CLASS:
|
1186
1182
|
case T_OBJECT:
|
1187
1183
|
if (argc != 2) rb_raise(rb_eArgError, "wrong number of arguments (%d for 2)",
|
1188
|
-
|
1184
|
+
argc);
|
1189
1185
|
if (!VECTOR_COMPLEX_ROW_P(argv[0]))
|
1190
1186
|
rb_raise(rb_eTypeError, "wrong argument type %s (GSL::Vector::Complex expected)",
|
1191
|
-
|
1187
|
+
rb_class2name(CLASS_OF(argv[0])));
|
1192
1188
|
if (!VECTOR_COMPLEX_COL_P(argv[1]))
|
1193
1189
|
rb_raise(rb_eTypeError, "wrong argument type %s (GSL::Vector::Complex::Col expected)",
|
1194
|
-
|
1190
|
+
rb_class2name(CLASS_OF(argv[1])));
|
1195
1191
|
Data_Get_Struct(argv[0], gsl_vector_complex, v);
|
1196
1192
|
Data_Get_Struct(argv[1], gsl_vector_complex, v2);
|
1197
1193
|
break;
|
1198
1194
|
default:
|
1199
1195
|
if (argc != 1) rb_raise(rb_eArgError, "wrong number of arguments (%d for 1)",
|
1200
|
-
|
1196
|
+
argc);
|
1201
1197
|
if (!VECTOR_COMPLEX_COL_P(argv[0]))
|
1202
1198
|
rb_raise(rb_eTypeError, "wrong argument type %s (GSL::Vector::Complex::Col expected)",
|
1203
|
-
|
1199
|
+
rb_class2name(CLASS_OF(argv[0])));
|
1204
1200
|
Data_Get_Struct(obj, gsl_vector_complex, v);
|
1205
1201
|
Data_Get_Struct(argv[0], gsl_vector_complex, v2);
|
1206
1202
|
break;
|
@@ -1228,25 +1224,25 @@ static VALUE rb_gsl_vector_complex_product_to_m(int argc, VALUE *argv, VALUE obj
|
|
1228
1224
|
case T_CLASS:
|
1229
1225
|
case T_OBJECT:
|
1230
1226
|
if (argc != 2) rb_raise(rb_eArgError, "wrong number of arguments (%d for 2)",
|
1231
|
-
|
1227
|
+
argc);
|
1232
1228
|
if (!VECTOR_COMPLEX_COL_P(argv[0]))
|
1233
|
-
rb_raise(rb_eTypeError,
|
1234
|
-
|
1235
|
-
|
1229
|
+
rb_raise(rb_eTypeError,
|
1230
|
+
"wrong argument type %s (GSL::Vector::Complex::Col expected)",
|
1231
|
+
rb_class2name(CLASS_OF(argv[0])));
|
1236
1232
|
if (!VECTOR_COMPLEX_ROW_P(argv[1]))
|
1237
|
-
rb_raise(rb_eTypeError,
|
1238
|
-
|
1239
|
-
|
1233
|
+
rb_raise(rb_eTypeError,
|
1234
|
+
"wrong argument type %s (GSL::Vector::Complex expected)",
|
1235
|
+
rb_class2name(CLASS_OF(argv[1])));
|
1240
1236
|
Data_Get_Struct(argv[0], gsl_vector_complex, v);
|
1241
1237
|
Data_Get_Struct(argv[1], gsl_vector_complex, v2);
|
1242
1238
|
break;
|
1243
1239
|
default:
|
1244
1240
|
if (argc != 1) rb_raise(rb_eArgError, "wrong number of arguments (%d for 1)",
|
1245
|
-
|
1241
|
+
argc);
|
1246
1242
|
if (!VECTOR_COMPLEX_ROW_P(argv[0]))
|
1247
|
-
rb_raise(rb_eTypeError,
|
1248
|
-
|
1249
|
-
|
1243
|
+
rb_raise(rb_eTypeError,
|
1244
|
+
"wrong argument type %s (GSL::Vector::Complex expected)",
|
1245
|
+
rb_class2name(CLASS_OF(argv[0])));
|
1250
1246
|
Data_Get_Struct(obj, gsl_vector_complex, v);
|
1251
1247
|
Data_Get_Struct(argv[0], gsl_vector_complex, v2);
|
1252
1248
|
break;
|
@@ -1323,8 +1319,8 @@ static VALUE rb_gsl_vector_complex_XXXz_bang(VALUE obj, gsl_complex (*f)(gsl_com
|
|
1323
1319
|
return obj;
|
1324
1320
|
}
|
1325
1321
|
|
1326
|
-
static VALUE rb_gsl_vector_complex_XXXz2(VALUE obj, VALUE a,
|
1327
|
-
|
1322
|
+
static VALUE rb_gsl_vector_complex_XXXz2(VALUE obj, VALUE a,
|
1323
|
+
gsl_complex (*f)(gsl_complex, gsl_complex))
|
1328
1324
|
{
|
1329
1325
|
gsl_vector_complex *m, *v;
|
1330
1326
|
gsl_complex c, *z;
|
@@ -1340,8 +1336,8 @@ static VALUE rb_gsl_vector_complex_XXXz2(VALUE obj, VALUE a,
|
|
1340
1336
|
return Data_Wrap_Struct(cgsl_vector_complex, 0, gsl_vector_complex_free, v);
|
1341
1337
|
}
|
1342
1338
|
|
1343
|
-
static VALUE rb_gsl_vector_complex_XXXz2_bang(VALUE obj, VALUE a,
|
1344
|
-
|
1339
|
+
static VALUE rb_gsl_vector_complex_XXXz2_bang(VALUE obj, VALUE a,
|
1340
|
+
gsl_complex (*f)(gsl_complex, gsl_complex))
|
1345
1341
|
{
|
1346
1342
|
gsl_vector_complex *v;
|
1347
1343
|
gsl_complex c, *z;
|
@@ -1442,7 +1438,7 @@ static gsl_complex rb_gsl_vector_complex_sum_gsl(gsl_vector_complex * v)
|
|
1442
1438
|
size_t i;
|
1443
1439
|
gsl_complex z = gsl_complex_rect(0.0,0.0);
|
1444
1440
|
|
1445
|
-
for(i=0; i<v->size; i++) {
|
1441
|
+
for(i = 0; i<v->size; i++) {
|
1446
1442
|
z = gsl_complex_add(z, gsl_vector_complex_get(v,i));
|
1447
1443
|
}
|
1448
1444
|
return z;
|
@@ -1461,7 +1457,7 @@ static double rb_gsl_vector_complex_tss_m_gsl(gsl_vector_complex * v, gsl_comple
|
|
1461
1457
|
size_t i;
|
1462
1458
|
double tss = 0.0;
|
1463
1459
|
|
1464
|
-
for(i=0; i<v->size; i++) {
|
1460
|
+
for(i = 0; i<v->size; i++) {
|
1465
1461
|
tss += gsl_complex_abs2(gsl_complex_sub(gsl_vector_complex_get(v,i), mean));
|
1466
1462
|
}
|
1467
1463
|
return tss;
|
@@ -1521,7 +1517,7 @@ static double rb_gsl_vector_complex_sd_gsl(gsl_vector_complex * v)
|
|
1521
1517
|
* (e.g. sum and mean)
|
1522
1518
|
*/
|
1523
1519
|
static VALUE rb_gsl_vector_complex_z_stats_v(VALUE obj,
|
1524
|
-
|
1520
|
+
gsl_complex (*func)(gsl_vector_complex*))
|
1525
1521
|
{
|
1526
1522
|
gsl_vector_complex * v;
|
1527
1523
|
gsl_complex * zp;
|
@@ -1530,7 +1526,7 @@ static VALUE rb_gsl_vector_complex_z_stats_v(VALUE obj,
|
|
1530
1526
|
CHECK_VECTOR_COMPLEX(obj);
|
1531
1527
|
Data_Get_Struct(obj, gsl_vector_complex, v);
|
1532
1528
|
|
1533
|
-
zv = Data_Make_Struct(cgsl_complex, gsl_complex, 0, free, zp);
|
1529
|
+
zv = Data_Make_Struct(cgsl_complex, gsl_complex, 0, free, zp);
|
1534
1530
|
*zp = func(v);
|
1535
1531
|
|
1536
1532
|
return zv;
|
@@ -1541,7 +1537,7 @@ static VALUE rb_gsl_vector_complex_z_stats_v(VALUE obj,
|
|
1541
1537
|
* (e.g. tss, variance, sd)
|
1542
1538
|
*/
|
1543
1539
|
static VALUE rb_gsl_vector_complex_d_stats_v(VALUE obj,
|
1544
|
-
|
1540
|
+
double (*func)(gsl_vector_complex*))
|
1545
1541
|
{
|
1546
1542
|
gsl_vector_complex * v;
|
1547
1543
|
double d;
|
@@ -1559,7 +1555,7 @@ static VALUE rb_gsl_vector_complex_d_stats_v(VALUE obj,
|
|
1559
1555
|
* (e.g. tss_m, variance_m, sd_m, variance_fm, sd_fm)
|
1560
1556
|
*/
|
1561
1557
|
static VALUE rb_gsl_vector_complex_d_stats_v_z(VALUE obj, VALUE arg,
|
1562
|
-
|
1558
|
+
double (*func)(gsl_vector_complex*, gsl_complex))
|
1563
1559
|
{
|
1564
1560
|
gsl_vector_complex * v;
|
1565
1561
|
gsl_complex z;
|
@@ -1772,58 +1768,58 @@ static VALUE rb_gsl_vector_complex_concat(VALUE obj, VALUE other)
|
|
1772
1768
|
Data_Get_Struct(obj, gsl_vector_complex, v);
|
1773
1769
|
|
1774
1770
|
switch(TYPE(other)) {
|
1775
|
-
|
1776
|
-
|
1777
|
-
|
1771
|
+
case T_FIXNUM:
|
1772
|
+
case T_BIGNUM:
|
1773
|
+
case T_FLOAT:
|
1774
|
+
vnew = gsl_vector_complex_alloc(v->size + 1);
|
1775
|
+
vv = gsl_vector_complex_subvector(vnew, 0, v->size);
|
1776
|
+
gsl_vector_complex_memcpy(&vv.vector, v);
|
1777
|
+
gsl_vector_complex_set(vnew, v->size, rb_gsl_obj_to_gsl_complex(other, NULL));
|
1778
|
+
break;
|
1779
|
+
|
1780
|
+
case T_ARRAY:
|
1781
|
+
size2 = RARRAY_LEN(other);
|
1782
|
+
vnew = gsl_vector_complex_alloc(v->size + size2);
|
1783
|
+
vv = gsl_vector_complex_subvector(vnew, 0, v->size);
|
1784
|
+
gsl_vector_complex_memcpy(&vv.vector, v);
|
1785
|
+
for (i = 0; i < size2; i++) {
|
1786
|
+
x = rb_ary_entry(other, i);
|
1787
|
+
gsl_vector_complex_set(vnew, v->size + i, rb_gsl_obj_to_gsl_complex(x, NULL));
|
1788
|
+
}
|
1789
|
+
break;
|
1790
|
+
|
1791
|
+
default:
|
1792
|
+
if(rb_obj_is_kind_of(other, cgsl_complex)) {
|
1778
1793
|
vnew = gsl_vector_complex_alloc(v->size + 1);
|
1779
1794
|
vv = gsl_vector_complex_subvector(vnew, 0, v->size);
|
1780
1795
|
gsl_vector_complex_memcpy(&vv.vector, v);
|
1781
1796
|
gsl_vector_complex_set(vnew, v->size, rb_gsl_obj_to_gsl_complex(other, NULL));
|
1782
|
-
|
1783
|
-
|
1784
|
-
case T_ARRAY:
|
1785
|
-
size2 = RARRAY_LEN(other);
|
1797
|
+
} else if(rb_obj_is_kind_of(other, rb_cRange)) {
|
1798
|
+
get_range_beg_en_n(other, &beg, &end, &size2, &step);
|
1786
1799
|
vnew = gsl_vector_complex_alloc(v->size + size2);
|
1787
1800
|
vv = gsl_vector_complex_subvector(vnew, 0, v->size);
|
1788
1801
|
gsl_vector_complex_memcpy(&vv.vector, v);
|
1802
|
+
GSL_SET_COMPLEX(&tmp, beg, 0.0);
|
1789
1803
|
for (i = 0; i < size2; i++) {
|
1790
|
-
|
1791
|
-
|
1804
|
+
gsl_vector_complex_set(vnew, v->size + i, tmp);
|
1805
|
+
GSL_SET_REAL(&tmp, GSL_REAL(tmp) + step);
|
1792
1806
|
}
|
1793
|
-
|
1794
|
-
|
1795
|
-
|
1796
|
-
|
1797
|
-
|
1798
|
-
|
1799
|
-
|
1800
|
-
|
1801
|
-
|
1802
|
-
|
1803
|
-
|
1804
|
-
|
1805
|
-
|
1806
|
-
GSL_SET_COMPLEX(&tmp, beg, 0.0);
|
1807
|
-
for (i = 0; i < size2; i++) {
|
1808
|
-
gsl_vector_complex_set(vnew, v->size + i, tmp);
|
1809
|
-
GSL_SET_REAL(&tmp, GSL_REAL(tmp) + step);
|
1810
|
-
}
|
1811
|
-
} else if (rb_obj_is_kind_of(other, cgsl_vector_complex)) {
|
1812
|
-
Data_Get_Struct(other, gsl_vector_complex, v2);
|
1813
|
-
size2 = v2->size;
|
1814
|
-
vnew = gsl_vector_complex_alloc(v->size + size2);
|
1815
|
-
vv = gsl_vector_complex_subvector(vnew, 0, v->size);
|
1816
|
-
gsl_vector_complex_memcpy(&vv.vector, v);
|
1817
|
-
vv = gsl_vector_complex_subvector(vnew, v->size, size2);
|
1818
|
-
gsl_vector_complex_memcpy(&vv.vector, v2);
|
1819
|
-
} else {
|
1820
|
-
rb_raise(rb_eTypeError, "wrong argument type %s (Array, Numeric, Range, GSL::Complex, or %s expected)",
|
1821
|
-
rb_class2name(CLASS_OF(other)), rb_class2name(cgsl_vector_complex));
|
1822
|
-
}
|
1823
|
-
break;
|
1807
|
+
} else if (rb_obj_is_kind_of(other, cgsl_vector_complex)) {
|
1808
|
+
Data_Get_Struct(other, gsl_vector_complex, v2);
|
1809
|
+
size2 = v2->size;
|
1810
|
+
vnew = gsl_vector_complex_alloc(v->size + size2);
|
1811
|
+
vv = gsl_vector_complex_subvector(vnew, 0, v->size);
|
1812
|
+
gsl_vector_complex_memcpy(&vv.vector, v);
|
1813
|
+
vv = gsl_vector_complex_subvector(vnew, v->size, size2);
|
1814
|
+
gsl_vector_complex_memcpy(&vv.vector, v2);
|
1815
|
+
} else {
|
1816
|
+
rb_raise(rb_eTypeError, "wrong argument type %s (Array, Numeric, Range, GSL::Complex, or %s expected)",
|
1817
|
+
rb_class2name(CLASS_OF(other)), rb_class2name(cgsl_vector_complex));
|
1818
|
+
}
|
1819
|
+
break;
|
1824
1820
|
}
|
1825
1821
|
|
1826
|
-
return Data_Wrap_Struct(VECTOR_COMPLEX_ROW_COL(obj), 0, gsl_vector_complex_free, vnew);
|
1822
|
+
return Data_Wrap_Struct(VECTOR_COMPLEX_ROW_COL(obj), 0, gsl_vector_complex_free, vnew);
|
1827
1823
|
}
|
1828
1824
|
|
1829
1825
|
static VALUE rb_gsl_vector_complex_block(VALUE obj)
|
@@ -1957,31 +1953,30 @@ static VALUE rb_gsl_vector_complex_zip(int argc, VALUE *argv, VALUE obj)
|
|
1957
1953
|
argv2 = argv;
|
1958
1954
|
} else {
|
1959
1955
|
if (argc < 1) rb_raise(rb_eArgError, "Too few arguments.");
|
1960
|
-
Data_Get_Struct(argv[0], gsl_vector_complex, v0);
|
1956
|
+
Data_Get_Struct(argv[0], gsl_vector_complex, v0);
|
1961
1957
|
argc2 = argc - 1;
|
1962
1958
|
argv2 = argv + 1;
|
1963
1959
|
}
|
1964
|
-
for (i = 0; i < argc2; i++) {
|
1960
|
+
for (i = 0; (int) i < argc2; i++) {
|
1965
1961
|
CHECK_VECTOR_COMPLEX(argv2[i]);
|
1966
1962
|
}
|
1967
1963
|
vp = (gsl_vector_complex**) malloc(sizeof(gsl_vector_complex**));
|
1968
|
-
for (i = 0; i < argc2; i++) {
|
1964
|
+
for (i = 0; (int) i < argc2; i++) {
|
1969
1965
|
Data_Get_Struct(argv2[i], gsl_vector_complex, vp[i]);
|
1970
1966
|
}
|
1971
1967
|
ary = rb_ary_new2(v0->size);
|
1972
1968
|
for (i = 0; i < v0->size; i++) {
|
1973
1969
|
vnew = gsl_vector_complex_alloc(argc2 + 1);
|
1974
1970
|
gsl_vector_complex_set(vnew, 0, gsl_vector_complex_get(v0, i));
|
1975
|
-
for (j = 0; j < argc2; j++) {
|
1971
|
+
for (j = 0; (int) j < argc2; j++) {
|
1976
1972
|
if (i < vp[j]->size) {
|
1977
|
-
|
1973
|
+
gsl_vector_complex_set(vnew, j+1, gsl_vector_complex_get(vp[j], i));
|
1978
1974
|
} else {
|
1979
|
-
|
1975
|
+
gsl_vector_complex_set(vnew, j+1, zzero);
|
1980
1976
|
}
|
1981
1977
|
}
|
1982
1978
|
rb_ary_store(ary, i, Data_Wrap_Struct(cgsl_vector_complex, 0, gsl_vector_complex_free, vnew));
|
1983
1979
|
}
|
1984
|
-
|
1985
1980
|
free((gsl_vector_complex**) vp);
|
1986
1981
|
return ary;
|
1987
1982
|
}
|
@@ -1990,7 +1985,7 @@ static VALUE rb_gsl_vector_complex_zip(int argc, VALUE *argv, VALUE obj)
|
|
1990
1985
|
// function, but it only determines absolute equality (i.e. is has no epsilon
|
1991
1986
|
// argument).
|
1992
1987
|
static int gsl_vector_complex_equal_eps(const gsl_vector_complex *v1,
|
1993
|
-
|
1988
|
+
const gsl_vector_complex *v2, double eps)
|
1994
1989
|
{
|
1995
1990
|
gsl_complex z1, z2;
|
1996
1991
|
size_t i;
|
@@ -2001,7 +1996,7 @@ static int gsl_vector_complex_equal_eps(const gsl_vector_complex *v1,
|
|
2001
1996
|
if (!rbgsl_complex_equal(&z1, &z2, eps)) return 0;
|
2002
1997
|
}
|
2003
1998
|
return 1;
|
2004
|
-
|
1999
|
+
|
2005
2000
|
}
|
2006
2001
|
|
2007
2002
|
static VALUE rb_gsl_vector_complex_equal(int argc, VALUE *argv, VALUE obj)
|
@@ -2042,8 +2037,8 @@ void Init_gsl_vector_complex(VALUE module)
|
|
2042
2037
|
rb_define_singleton_method(cgsl_vector_complex, "alloc", rb_gsl_vector_complex_new, -1);
|
2043
2038
|
rb_define_singleton_method(cgsl_vector_complex, "calloc", rb_gsl_vector_complex_calloc, 1);
|
2044
2039
|
|
2045
|
-
rb_define_singleton_method(cgsl_vector_complex_col, "new",
|
2046
|
-
|
2040
|
+
rb_define_singleton_method(cgsl_vector_complex_col, "new",
|
2041
|
+
rb_gsl_vector_complex_row_new, -1);
|
2047
2042
|
|
2048
2043
|
rb_define_method(cgsl_vector_complex, "size", rb_gsl_vector_complex_size, 0);
|
2049
2044
|
rb_define_alias(cgsl_vector_complex, "len", "size");
|
@@ -2102,7 +2097,7 @@ void Init_gsl_vector_complex(VALUE module)
|
|
2102
2097
|
rb_define_method(cgsl_vector_complex, "subvector", rb_gsl_vector_complex_subvector, -1);
|
2103
2098
|
rb_define_alias(cgsl_vector_complex, "view", "subvector");
|
2104
2099
|
rb_define_method(cgsl_vector_complex, "subvector_with_stride", rb_gsl_vector_complex_subvector_with_stride, 3);
|
2105
|
-
|
2100
|
+
|
2106
2101
|
rb_define_singleton_method(cgsl_vector_complex, "memcpy", rb_gsl_vector_complex_memcpy, 2);
|
2107
2102
|
rb_define_method(cgsl_vector_complex, "clone", rb_gsl_vector_complex_clone, 0);
|
2108
2103
|
rb_define_alias(cgsl_vector_complex, "duplicate", "clone");
|
@@ -2131,17 +2126,17 @@ void Init_gsl_vector_complex(VALUE module)
|
|
2131
2126
|
rb_define_alias(cgsl_vector_complex_col, "row", "trans");
|
2132
2127
|
rb_define_alias(cgsl_vector_complex_col, "row!", "trans!");
|
2133
2128
|
|
2134
|
-
|
2129
|
+
/*****/
|
2135
2130
|
rb_define_method(cgsl_vector_complex, "to_real", rb_gsl_vector_complex_to_real, 0);
|
2136
2131
|
|
2137
|
-
rb_define_method(cgsl_vector_complex, "add", rb_gsl_vector_complex_add, 1);
|
2138
|
-
rb_define_method(cgsl_vector_complex, "sub", rb_gsl_vector_complex_sub, 1);
|
2139
|
-
rb_define_method(cgsl_vector_complex, "mul", rb_gsl_vector_complex_mul, 1);
|
2140
|
-
rb_define_method(cgsl_vector_complex, "div", rb_gsl_vector_complex_div, 1);
|
2141
|
-
rb_define_method(cgsl_vector_complex, "add!", rb_gsl_vector_complex_add_bang, 1);
|
2142
|
-
rb_define_method(cgsl_vector_complex, "sub!", rb_gsl_vector_complex_sub_bang, 1);
|
2143
|
-
rb_define_method(cgsl_vector_complex, "mul!", rb_gsl_vector_complex_mul_bang, 1);
|
2144
|
-
rb_define_method(cgsl_vector_complex, "div!", rb_gsl_vector_complex_div_bang, 1);
|
2132
|
+
rb_define_method(cgsl_vector_complex, "add", rb_gsl_vector_complex_add, 1);
|
2133
|
+
rb_define_method(cgsl_vector_complex, "sub", rb_gsl_vector_complex_sub, 1);
|
2134
|
+
rb_define_method(cgsl_vector_complex, "mul", rb_gsl_vector_complex_mul, 1);
|
2135
|
+
rb_define_method(cgsl_vector_complex, "div", rb_gsl_vector_complex_div, 1);
|
2136
|
+
rb_define_method(cgsl_vector_complex, "add!", rb_gsl_vector_complex_add_bang, 1);
|
2137
|
+
rb_define_method(cgsl_vector_complex, "sub!", rb_gsl_vector_complex_sub_bang, 1);
|
2138
|
+
rb_define_method(cgsl_vector_complex, "mul!", rb_gsl_vector_complex_mul_bang, 1);
|
2139
|
+
rb_define_method(cgsl_vector_complex, "div!", rb_gsl_vector_complex_div_bang, 1);
|
2145
2140
|
|
2146
2141
|
rb_define_alias(cgsl_vector_complex, "+", "add");
|
2147
2142
|
rb_define_alias(cgsl_vector_complex, "add_constant", "add");
|
@@ -2152,7 +2147,7 @@ void Init_gsl_vector_complex(VALUE module)
|
|
2152
2147
|
rb_define_alias(cgsl_vector_complex, "scale!", "mul!");
|
2153
2148
|
rb_define_alias(cgsl_vector_complex, "/", "div");
|
2154
2149
|
|
2155
|
-
rb_define_method(cgsl_vector_complex, "coerce", rb_gsl_vector_complex_coerce, 1);
|
2150
|
+
rb_define_method(cgsl_vector_complex, "coerce", rb_gsl_vector_complex_coerce, 1);
|
2156
2151
|
|
2157
2152
|
/* 2.Aug.2004 */
|
2158
2153
|
rb_define_singleton_method(cgsl_vector_complex, "inner_product", rb_gsl_vector_complex_inner_product, -1);
|
@@ -2237,10 +2232,10 @@ void Init_gsl_vector_complex(VALUE module)
|
|
2237
2232
|
|
2238
2233
|
rb_define_method(cgsl_vector_complex, "zip", rb_gsl_vector_complex_zip, -1);
|
2239
2234
|
rb_define_singleton_method(cgsl_vector_complex, "zip", rb_gsl_vector_complex_zip, -1);
|
2240
|
-
|
2235
|
+
|
2241
2236
|
rb_define_method(cgsl_vector_complex, "equal?", rb_gsl_vector_complex_equal, -1);
|
2242
2237
|
rb_define_alias(cgsl_vector_complex, "==", "equal?");
|
2243
2238
|
rb_define_method(cgsl_vector_complex, "not_equal?", rb_gsl_vector_complex_not_equal, -1);
|
2244
|
-
rb_define_alias(cgsl_vector_complex, "!=", "not_equal?");
|
2239
|
+
rb_define_alias(cgsl_vector_complex, "!=", "not_equal?");
|
2245
2240
|
}
|
2246
2241
|
|