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
@@ -1,20 +1,20 @@
|
|
1
|
-
#include "rb_gsl.h"
|
1
|
+
#include "include/rb_gsl.h"
|
2
2
|
|
3
3
|
/*!
|
4
|
-
Counter-clockwise rotation around the X-axis
|
4
|
+
Counter-clockwise rotation around the X-axis
|
5
5
|
|
6
6
|
/ x' \ / 1 0 0 \ / x \
|
7
7
|
| y' | = | 0 cos_th -sin_th | | y |
|
8
8
|
\ z' / \ 0 sin_th cos_th / \ z /
|
9
9
|
|
10
10
|
*/
|
11
|
-
void vector3_rotateX(const double x[3] /*!< Input */,
|
12
|
-
|
13
|
-
|
11
|
+
void vector3_rotateX(const double x[3] /*!< Input */,
|
12
|
+
double theta /*!< Rotation angle */,
|
13
|
+
double xout[3] /*!< Output */)
|
14
14
|
{
|
15
15
|
double a, b, c;
|
16
16
|
double costheta, sintheta;
|
17
|
-
|
17
|
+
|
18
18
|
costheta = cos(theta);
|
19
19
|
sintheta = sin(theta);
|
20
20
|
|
@@ -28,7 +28,7 @@ void vector3_rotateX(const double x[3] /*!< Input */,
|
|
28
28
|
}
|
29
29
|
|
30
30
|
/*!
|
31
|
-
Counter-clockwise rotation around the Y-axis
|
31
|
+
Counter-clockwise rotation around the Y-axis
|
32
32
|
(Note the sign of the matrix element.)
|
33
33
|
|
34
34
|
/ x' \ / cos_th 0 sin_th \ / x \
|
@@ -36,9 +36,9 @@ void vector3_rotateX(const double x[3] /*!< Input */,
|
|
36
36
|
\ z' / \ -sin_th 0 cos_th / \ z /
|
37
37
|
|
38
38
|
*/
|
39
|
-
void vector3_rotateY(const double x[3] /*!< Input */,
|
40
|
-
|
41
|
-
|
39
|
+
void vector3_rotateY(const double x[3] /*!< Input */,
|
40
|
+
double theta /*!< Rotation angle */,
|
41
|
+
double xout[3] /*!< Output */)
|
42
42
|
{
|
43
43
|
double a, b, c;
|
44
44
|
double costheta, sintheta;
|
@@ -56,16 +56,16 @@ void vector3_rotateY(const double x[3] /*!< Input */,
|
|
56
56
|
}
|
57
57
|
|
58
58
|
/*!
|
59
|
-
Counter-clockwise rotation around the Z-axis
|
59
|
+
Counter-clockwise rotation around the Z-axis
|
60
60
|
|
61
61
|
/ x' \ / cos_th -sin_th 0 \ / x \
|
62
62
|
| y' | = | sin_th cos_th 0 | | y |
|
63
63
|
\ z' / \ 0 0 1 / \ z /
|
64
64
|
|
65
65
|
*/
|
66
|
-
void vector3_rotateZ(const double x[3] /*!< Input */,
|
67
|
-
|
68
|
-
|
66
|
+
void vector3_rotateZ(const double x[3] /*!< Input */,
|
67
|
+
double theta /*!< Rotation angle */,
|
68
|
+
double xout[3] /*!< Output */)
|
69
69
|
{
|
70
70
|
double a, b, c;
|
71
71
|
double costheta, sintheta;
|
@@ -85,7 +85,7 @@ void vector3_rotateZ(const double x[3] /*!< Input */,
|
|
85
85
|
/*!
|
86
86
|
Rotate a 3-vector.
|
87
87
|
|
88
|
-
If flag != 1, cos/sin values stored in the static variables are used
|
88
|
+
If flag != 1, cos/sin values stored in the static variables are used
|
89
89
|
for efficiency.
|
90
90
|
The input and the output vectors (x, xout) can be the same pointer.
|
91
91
|
|
@@ -95,7 +95,7 @@ void vector3_rotateZ(const double x[3] /*!< Input */,
|
|
95
95
|
|
96
96
|
*/
|
97
97
|
void vector3_rotate(const double x[3], double theta, double phi,
|
98
|
-
|
98
|
+
double xout[3])
|
99
99
|
{
|
100
100
|
vector3_rotateY(x, theta,xout);
|
101
101
|
vector3_rotateZ(xout, phi, xout);
|
@@ -8,8 +8,8 @@
|
|
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_graph.h"
|
11
|
+
|
12
|
+
#include "include/rb_gsl_graph.h"
|
13
13
|
|
14
14
|
void make_graphcommand(char *command, VALUE hash)
|
15
15
|
{
|
@@ -18,25 +18,21 @@ void make_graphcommand(char *command, VALUE hash)
|
|
18
18
|
sprintf(command, "graph -T X -g 3 %s", STR2CSTR(hash));
|
19
19
|
return;
|
20
20
|
}
|
21
|
-
|
22
21
|
strcpy(command, "graph");
|
23
|
-
if (TYPE(hash) != T_HASH) rb_raise(rb_eTypeError,
|
24
|
-
|
25
|
-
|
22
|
+
if (TYPE(hash) != T_HASH) rb_raise(rb_eTypeError,
|
23
|
+
"wrong argument type %s (Hash expected)",
|
24
|
+
rb_class2name(CLASS_OF(hash)));
|
26
25
|
if ((val = rb_hash_aref(hash, rb_str_new2("T"))) != Qnil)
|
27
26
|
sprintf(command, "%s -T %s", command, STR2CSTR(val));
|
28
27
|
else
|
29
28
|
sprintf(command, "%s -T X", command);
|
30
|
-
|
31
29
|
val = rb_hash_aref(hash, rb_str_new2("C"));
|
32
30
|
if (val == Qtrue)
|
33
31
|
sprintf(command, "%s -C", command);
|
34
|
-
|
35
32
|
if ((val = rb_hash_aref(hash, rb_str_new2("g"))) != Qnil)
|
36
33
|
sprintf(command, "%s -g %d", command, (int) FIX2INT(val));
|
37
34
|
else
|
38
35
|
sprintf(command, "%s -g 3", command);
|
39
|
-
|
40
36
|
if ((val = rb_hash_aref(hash, rb_str_new2("B"))) == Qtrue)
|
41
37
|
sprintf(command, "%s -B", command);
|
42
38
|
if ((val = rb_hash_aref(hash, rb_str_new2("E"))) != Qnil)
|
@@ -45,7 +41,6 @@ void make_graphcommand(char *command, VALUE hash)
|
|
45
41
|
sprintf(command, "%s -f %f", command, NUM2DBL(val));
|
46
42
|
if ((val = rb_hash_aref(hash, rb_str_new2("F"))) != Qnil)
|
47
43
|
sprintf(command, "%s -F %s", command, STR2CSTR(val));
|
48
|
-
|
49
44
|
if ((val = rb_hash_aref(hash, rb_str_new2("h"))) != Qnil)
|
50
45
|
sprintf(command, "%s -h %f", command, NUM2DBL(val));
|
51
46
|
if ((val = rb_hash_aref(hash, rb_str_new2("k"))) != Qnil)
|
@@ -58,7 +53,6 @@ void make_graphcommand(char *command, VALUE hash)
|
|
58
53
|
else
|
59
54
|
sprintf(command, "%s -l %s", command, STR2CSTR(val));
|
60
55
|
}
|
61
|
-
|
62
56
|
if ((val = rb_hash_aref(hash, rb_str_new2("L"))) != Qnil)
|
63
57
|
sprintf(command, "%s -L \"%s\"", command, STR2CSTR(val));
|
64
58
|
if ((val = rb_hash_aref(hash, rb_str_new2("N"))) != Qnil)
|
@@ -103,10 +97,8 @@ void make_graphcommand(char *command, VALUE hash)
|
|
103
97
|
sprintf(command, "%s --title-font-name %s", command, STR2CSTR(val));
|
104
98
|
if ((val = rb_hash_aref(hash, rb_str_new2("title-font-size"))) != Qnil)
|
105
99
|
sprintf(command, "%s --title-font-size %f", command, NUM2DBL(val));
|
106
|
-
|
107
100
|
if ((val = rb_hash_aref(hash, rb_str_new2("toggle-rotate-y-label"))) == Qtrue)
|
108
101
|
sprintf(command, "%s --toggle-rotate-y-label", command);
|
109
|
-
|
110
102
|
if ((val = rb_hash_aref(hash, rb_str_new2("m"))) != Qnil)
|
111
103
|
sprintf(command, "%s -m %d", command, (int) FIX2INT(val));
|
112
104
|
if ((val = rb_hash_aref(hash, rb_str_new2("S"))) != Qnil)
|
@@ -115,15 +107,12 @@ void make_graphcommand(char *command, VALUE hash)
|
|
115
107
|
sprintf(command, "%s -W %f", command, NUM2DBL(val));
|
116
108
|
if ((val = rb_hash_aref(hash, rb_str_new2("q"))) != Qnil)
|
117
109
|
sprintf(command, "%s -q %f", command, NUM2DBL(val));
|
118
|
-
|
119
110
|
if ((val = rb_hash_aref(hash, rb_str_new2("symbol-font-name"))) != Qnil)
|
120
111
|
sprintf(command, "%s --symbol-font-name %s", command, STR2CSTR(val));
|
121
|
-
|
122
112
|
if ((val = rb_hash_aref(hash, rb_str_new2("reposition"))) != Qnil)
|
123
113
|
sprintf(command, "%s --reposition %s", command, STR2CSTR(val));
|
124
114
|
if ((val = rb_hash_aref(hash, rb_str_new2("blankout"))) != Qnil)
|
125
115
|
sprintf(command, "%s --blankout %s", command, STR2CSTR(val));
|
126
|
-
|
127
116
|
if ((val = rb_hash_aref(hash, rb_str_new2("O"))) == Qtrue)
|
128
117
|
sprintf(command, "%s -O", command);
|
129
118
|
}
|
@@ -982,7 +971,6 @@ static void gsl_graph_set_command(gsl_graph *g, char *command)
|
|
982
971
|
sprintf(command, "%s -T X", command);
|
983
972
|
else
|
984
973
|
sprintf(command, "%s -T %s", command, STR2CSTR(g->T));
|
985
|
-
|
986
974
|
if (TYPE(g->E) == T_STRING) {
|
987
975
|
strcpy(str, STR2CSTR(g->E));
|
988
976
|
if (strcmp(str, "x") == 0)
|
@@ -991,28 +979,21 @@ static void gsl_graph_set_command(gsl_graph *g, char *command)
|
|
991
979
|
sprintf(command, "%s -E y", command);
|
992
980
|
else if (strcmp(str, "xy")*strcmp(str, "x/y") == 0)
|
993
981
|
sprintf(command, "%s -E x -E y", command);
|
994
|
-
else
|
982
|
+
else
|
995
983
|
rb_raise(rb_eRuntimeError, "unrecognized -E option %s", str);
|
996
984
|
}
|
997
|
-
|
998
985
|
if (g->f != Qnil)
|
999
986
|
sprintf(command, "%s -f %f", command, NUM2DBL(g->f));
|
1000
|
-
|
1001
987
|
if (TYPE(g->F) == T_STRING)
|
1002
988
|
sprintf(command, "%s -F %s", command, STR2CSTR(g->F));
|
1003
|
-
|
1004
989
|
if (TYPE(g->g) == T_FIXNUM)
|
1005
990
|
sprintf(command, "%s -g %d", command, (int) FIX2INT(g->g));
|
1006
|
-
|
1007
991
|
if (g->h != Qnil)
|
1008
992
|
sprintf(command, "%s -h %f", command, NUM2DBL(g->h));
|
1009
|
-
|
1010
993
|
if (g->k != Qnil)
|
1011
994
|
sprintf(command, "%s -k %f", command, NUM2DBL(g->k));
|
1012
|
-
|
1013
995
|
if (TYPE(g->K) == T_FIXNUM)
|
1014
996
|
sprintf(command, "%s -K %d", command, (int) FIX2INT(g->K));
|
1015
|
-
|
1016
997
|
if (TYPE(g->l) == T_STRING) {
|
1017
998
|
strcpy(str, STR2CSTR(g->l));
|
1018
999
|
if (strcmp(str, "x") == 0)
|
@@ -1021,13 +1002,11 @@ static void gsl_graph_set_command(gsl_graph *g, char *command)
|
|
1021
1002
|
sprintf(command, "%s -l y", command);
|
1022
1003
|
else if (strcmp(str, "xy")*strcmp(str, "x/y") == 0)
|
1023
1004
|
sprintf(command, "%s -l x -l y", command);
|
1024
|
-
else
|
1005
|
+
else
|
1025
1006
|
rb_raise(rb_eRuntimeError, "unrecognized -l option %s", str);
|
1026
1007
|
}
|
1027
|
-
|
1028
1008
|
if (TYPE(g->L) == T_STRING)
|
1029
1009
|
sprintf(command, "%s -L \"%s\"", command, STR2CSTR(g->L));
|
1030
|
-
|
1031
1010
|
if (TYPE(g->N) == T_STRING) {
|
1032
1011
|
strcpy(str, STR2CSTR(g->N));
|
1033
1012
|
if (strcmp(str, "x") == 0)
|
@@ -1036,13 +1015,11 @@ static void gsl_graph_set_command(gsl_graph *g, char *command)
|
|
1036
1015
|
sprintf(command, "%s -N y", command);
|
1037
1016
|
else if (strcmp(str, "xy")*strcmp(str, "x/y") == 0)
|
1038
1017
|
sprintf(command, "%s -N x -N y", command);
|
1039
|
-
else
|
1018
|
+
else
|
1040
1019
|
rb_raise(rb_eRuntimeError, "unrecognized -N option %s", str);
|
1041
1020
|
}
|
1042
|
-
|
1043
1021
|
if (g->r != Qnil)
|
1044
1022
|
sprintf(command, "%s -r %f", command, NUM2DBL(g->r));
|
1045
|
-
|
1046
1023
|
if (TYPE(g->R) == T_STRING) {
|
1047
1024
|
strcpy(str, STR2CSTR(g->R));
|
1048
1025
|
if (strcmp(str, "x") == 0)
|
@@ -1051,16 +1028,13 @@ static void gsl_graph_set_command(gsl_graph *g, char *command)
|
|
1051
1028
|
sprintf(command, "%s -R y", command);
|
1052
1029
|
else if (strcmp(str, "xy")*strcmp(str, "x/y") == 0)
|
1053
1030
|
sprintf(command, "%s -R x -R y", command);
|
1054
|
-
else
|
1031
|
+
else
|
1055
1032
|
rb_raise(rb_eRuntimeError, "unrecognized -R option %s", str);
|
1056
1033
|
}
|
1057
|
-
|
1058
1034
|
if (g->u != Qnil)
|
1059
1035
|
sprintf(command, "%s -u %f", command, NUM2DBL(g->u));
|
1060
|
-
|
1061
1036
|
if (g->w != Qnil)
|
1062
1037
|
sprintf(command, "%s -w %f", command, NUM2DBL(g->w));
|
1063
|
-
|
1064
1038
|
switch (TYPE(g->x)) {
|
1065
1039
|
case T_STRING:
|
1066
1040
|
sprintf(command, "%s -x %s", command, STR2CSTR(g->x));
|
@@ -1103,61 +1077,47 @@ static void gsl_graph_set_command(gsl_graph *g, char *command)
|
|
1103
1077
|
sprintf(command, "%s -X \"%s\"", command, STR2CSTR(g->X));
|
1104
1078
|
if (g->Y != Qnil)
|
1105
1079
|
sprintf(command, "%s -Y \"%s\"", command, STR2CSTR(g->Y));
|
1106
|
-
|
1107
1080
|
if (TYPE(g->bg) == T_STRING)
|
1108
1081
|
sprintf(command, "%s --bg-color %s", command, STR2CSTR(g->bg));
|
1109
|
-
|
1110
1082
|
if (TYPE(g->bitmap_size) == T_STRING)
|
1111
1083
|
sprintf(command, "%s --bitmap-size %s", command, STR2CSTR(g->bitmap_size));
|
1112
|
-
|
1113
1084
|
if (TYPE(g->frame) == T_STRING)
|
1114
1085
|
sprintf(command, "%s --frame-color %s", command, STR2CSTR(g->frame));
|
1115
|
-
|
1116
1086
|
if (g->frame_line_width != Qnil)
|
1117
1087
|
sprintf(command, "%s --frame-line-width %f", command, NUM2DBL(g->frame_line_width));
|
1118
|
-
|
1119
|
-
|
1120
|
-
|
1121
|
-
(int) FIX2INT(g->max_line_length));
|
1122
|
-
|
1088
|
+
if (g->max_line_length != Qnil)
|
1089
|
+
sprintf(command, "%s --max_line_length %d", command,
|
1090
|
+
(int) FIX2INT(g->max_line_length));
|
1123
1091
|
if (g->page_size != Qnil)
|
1124
1092
|
sprintf(command, "%s --page-size %s", command, STR2CSTR(g->page_size));
|
1125
|
-
|
1126
1093
|
if (g->pen_colors != Qnil)
|
1127
1094
|
sprintf(command, "%s --pen-colors %s", command, STR2CSTR(g->pen_colors));
|
1128
|
-
|
1129
1095
|
if (g->rotation != Qnil)
|
1130
1096
|
sprintf(command, "%s --rotation %d", command, (int) FIX2INT(g->rotation));
|
1131
|
-
|
1132
1097
|
if (g->title_font_name != Qnil)
|
1133
1098
|
sprintf(command, "%s --title-font-name %s", command, STR2CSTR(g->title_font_name)); if (g->title_font_size != Qnil)
|
1134
1099
|
sprintf(command, "%s --title-font-size %f", command, NUM2DBL(g->title_font_size));
|
1135
|
-
|
1136
1100
|
if (g->rotate_y_label == Qtrue)
|
1137
1101
|
sprintf(command, "%s --toggle-rotate-y-label", command);
|
1138
|
-
|
1139
1102
|
if (g->I != Qnil)
|
1140
1103
|
sprintf(command, "%s -I %s", command, STR2CSTR(g->I));
|
1141
|
-
|
1142
1104
|
if (g->s == Qtrue)
|
1143
1105
|
sprintf(command, "%s -s", command);
|
1144
1106
|
if (g->t == Qtrue)
|
1145
1107
|
sprintf(command, "%s -t", command);
|
1146
1108
|
if (g->B == Qtrue)
|
1147
1109
|
sprintf(command, "%s -B", command);
|
1148
|
-
|
1149
1110
|
if (g->m != Qnil)
|
1150
1111
|
sprintf(command, "%s -m %d", command, (int) FIX2INT(g->m));
|
1151
|
-
|
1152
1112
|
switch (TYPE(g->S)) {
|
1153
1113
|
case T_STRING:
|
1154
1114
|
sprintf(command, "%s -S %s", command, STR2CSTR(g->S));
|
1155
1115
|
break;
|
1156
1116
|
case T_ARRAY:
|
1157
|
-
// if (RARRAY(g->S)->len == 2)
|
1158
|
-
if (RARRAY_LEN(g->S) == 2)
|
1117
|
+
// if (RARRAY(g->S)->len == 2)
|
1118
|
+
if (RARRAY_LEN(g->S) == 2)
|
1159
1119
|
sprintf(command, "%s -S %d %f", command, (int) FIX2INT(rb_ary_entry(g->S, 0)),
|
1160
|
-
|
1120
|
+
NUM2DBL(rb_ary_entry(g->S, 1)));
|
1161
1121
|
break;
|
1162
1122
|
default:
|
1163
1123
|
/* do nothing */
|
@@ -1166,16 +1126,12 @@ static void gsl_graph_set_command(gsl_graph *g, char *command)
|
|
1166
1126
|
|
1167
1127
|
if (g->W != Qnil)
|
1168
1128
|
sprintf(command, "%s -W %f", command, NUM2DBL(g->W));
|
1169
|
-
|
1170
1129
|
if (g->q != Qnil)
|
1171
1130
|
sprintf(command, "%s -q %f", command, NUM2DBL(g->q));
|
1172
|
-
|
1173
1131
|
if (g->C == Qtrue)
|
1174
1132
|
sprintf(command, "%s -C", command);
|
1175
|
-
|
1176
1133
|
if (g->symbol_font_name != Qnil)
|
1177
1134
|
sprintf(command, "%s --symbol_font_name %s", command, STR2CSTR(g->symbol_font_name));
|
1178
|
-
|
1179
1135
|
switch (TYPE(g->reposition)) {
|
1180
1136
|
case T_STRING:
|
1181
1137
|
sprintf(command, "%s --reposition %s", command, STR2CSTR(g->reposition));
|
@@ -1197,7 +1153,6 @@ static void gsl_graph_set_command(gsl_graph *g, char *command)
|
|
1197
1153
|
|
1198
1154
|
if (g->blankout != Qnil)
|
1199
1155
|
sprintf(command, "%s --blankout %f", command, NUM2DBL(g->blankout));
|
1200
|
-
|
1201
1156
|
if (g->O == Qtrue)
|
1202
1157
|
sprintf(command, "%s -O", command);
|
1203
1158
|
}
|
@@ -1219,7 +1174,7 @@ static VALUE rb_gsl_graph_graph(int argc, VALUE *argv, VALUE obj)
|
|
1219
1174
|
case 3:
|
1220
1175
|
Check_Type(argv[2], T_STRING);
|
1221
1176
|
sprintf(command, "%s %s", command, STR2CSTR(argv[2]));
|
1222
|
-
|
1177
|
+
/* no break */
|
1223
1178
|
case 2:
|
1224
1179
|
if (TYPE(argv[1]) == T_STRING) {
|
1225
1180
|
sprintf(command, "%s %s", command, STR2CSTR(argv[1]));
|
@@ -1227,19 +1182,19 @@ static VALUE rb_gsl_graph_graph(int argc, VALUE *argv, VALUE obj)
|
|
1227
1182
|
g->ydata = argv[1];
|
1228
1183
|
} else {
|
1229
1184
|
rb_raise(rb_eTypeError, "wrong argument type %s (Vector or String expected)",
|
1230
|
-
|
1185
|
+
rb_class2name(CLASS_OF(argv[1])));
|
1231
1186
|
}
|
1232
|
-
|
1187
|
+
/* no break */
|
1233
1188
|
case 1:
|
1234
1189
|
if (TYPE(argv[0]) == T_STRING) {
|
1235
1190
|
sprintf(command, "%s %s", command, STR2CSTR(argv[0]));
|
1236
1191
|
} else if (VECTOR_P(argv[0])) {
|
1237
|
-
g->xdata = argv[0];
|
1192
|
+
g->xdata = argv[0];
|
1238
1193
|
} else if (HISTOGRAM_P(argv[0])) {
|
1239
1194
|
Data_Get_Struct(argv[0], gsl_histogram, h);
|
1240
1195
|
} else {
|
1241
1196
|
rb_raise(rb_eTypeError, "wrong argument type %s (Vector or String expected)",
|
1242
|
-
|
1197
|
+
rb_class2name(CLASS_OF(argv[0])));
|
1243
1198
|
}
|
1244
1199
|
break;
|
1245
1200
|
default:
|
@@ -1248,19 +1203,16 @@ static VALUE rb_gsl_graph_graph(int argc, VALUE *argv, VALUE obj)
|
|
1248
1203
|
}
|
1249
1204
|
if (VECTOR_P(g->xdata)) Data_Get_Struct(g->xdata, gsl_vector, x);
|
1250
1205
|
if (VECTOR_P(g->ydata)) Data_Get_Struct(g->ydata, gsl_vector, y);
|
1251
|
-
|
1252
1206
|
if (x == NULL && h == NULL)
|
1253
1207
|
rb_raise(rb_eRuntimeError, "data is not given");
|
1254
|
-
|
1255
1208
|
if (h) size = h->n;
|
1256
1209
|
else size = x->size;
|
1257
|
-
|
1258
1210
|
fp = popen(command, "w");
|
1259
1211
|
if (fp == NULL) rb_raise(rb_eIOError, "GNU graph not found.");
|
1260
1212
|
for (i = 0; i < size; i++) {
|
1261
|
-
if (h)
|
1213
|
+
if (h)
|
1262
1214
|
fprintf(fp, "%g %g\n%g %g\n", h->range[i], h->bin[i], h->range[i+1], h->bin[i]);
|
1263
|
-
else if (y == NULL)
|
1215
|
+
else if (y == NULL)
|
1264
1216
|
fprintf(fp, "%d %g\n", (int) i, gsl_vector_get(x, i));
|
1265
1217
|
else
|
1266
1218
|
fprintf(fp, "%g %g\n", gsl_vector_get(x, i), gsl_vector_get(y, i));
|
@@ -1290,7 +1242,7 @@ static VALUE rb_gsl_graph_step(int argc, VALUE *argv, VALUE obj)
|
|
1290
1242
|
case 3:
|
1291
1243
|
Check_Type(argv[2], T_STRING);
|
1292
1244
|
sprintf(command, "%s %s", command, STR2CSTR(argv[2]));
|
1293
|
-
|
1245
|
+
/* no break */
|
1294
1246
|
case 2:
|
1295
1247
|
if (TYPE(argv[1]) == T_STRING) {
|
1296
1248
|
sprintf(command, "%s %s", command, STR2CSTR(argv[1]));
|
@@ -1298,17 +1250,17 @@ static VALUE rb_gsl_graph_step(int argc, VALUE *argv, VALUE obj)
|
|
1298
1250
|
g->ydata = argv[1];
|
1299
1251
|
} else {
|
1300
1252
|
rb_raise(rb_eTypeError, "wrong argument type %s (Vector or String expected)",
|
1301
|
-
|
1253
|
+
rb_class2name(CLASS_OF(argv[1])));
|
1302
1254
|
}
|
1303
|
-
|
1255
|
+
/* no break */
|
1304
1256
|
case 1:
|
1305
1257
|
if (TYPE(argv[0]) == T_STRING) {
|
1306
1258
|
sprintf(command, "%s %s", command, STR2CSTR(argv[0]));
|
1307
1259
|
} else if (VECTOR_P(argv[0])) {
|
1308
|
-
g->xdata = argv[0];
|
1260
|
+
g->xdata = argv[0];
|
1309
1261
|
} else {
|
1310
1262
|
rb_raise(rb_eTypeError, "wrong argument type %s (Vector or String expected)",
|
1311
|
-
|
1263
|
+
rb_class2name(CLASS_OF(argv[0])));
|
1312
1264
|
}
|
1313
1265
|
break;
|
1314
1266
|
default:
|
@@ -1317,10 +1269,8 @@ static VALUE rb_gsl_graph_step(int argc, VALUE *argv, VALUE obj)
|
|
1317
1269
|
}
|
1318
1270
|
if (VECTOR_P(g->xdata)) Data_Get_Struct(g->xdata, gsl_vector, x);
|
1319
1271
|
if (VECTOR_P(g->ydata)) Data_Get_Struct(g->ydata, gsl_vector, y);
|
1320
|
-
|
1321
1272
|
if (x == NULL)
|
1322
1273
|
rb_raise(rb_eRuntimeError, "data is not given");
|
1323
|
-
|
1324
1274
|
size = x->size;
|
1325
1275
|
|
1326
1276
|
fp = popen(command, "w");
|
@@ -1328,14 +1278,14 @@ static VALUE rb_gsl_graph_step(int argc, VALUE *argv, VALUE obj)
|
|
1328
1278
|
for (i = 0; i < size; i++) {
|
1329
1279
|
if (y == NULL) {
|
1330
1280
|
fprintf(fp, "%d %g\n%d %g\n", (int) i, gsl_vector_get(x, i),
|
1331
|
-
|
1281
|
+
(int) (i+1), gsl_vector_get(x, i));
|
1332
1282
|
} else {
|
1333
1283
|
if (i != size-1)
|
1334
|
-
|
1335
|
-
|
1336
|
-
else
|
1337
|
-
|
1338
|
-
|
1284
|
+
fprintf(fp, "%g %g\n%g %g\n", gsl_vector_get(x, i), gsl_vector_get(y, i),
|
1285
|
+
gsl_vector_get(x, i+1), gsl_vector_get(y, i));
|
1286
|
+
else
|
1287
|
+
fprintf(fp, "%g %g\n%g %g", gsl_vector_get(x, i), gsl_vector_get(y, i),
|
1288
|
+
2.0*gsl_vector_get(x, i)-gsl_vector_get(x, i-1), gsl_vector_get(y, i));
|
1339
1289
|
}
|
1340
1290
|
}
|
1341
1291
|
fflush(fp);
|
@@ -1617,18 +1567,18 @@ void Init_gsl_graph(VALUE module)
|
|
1617
1567
|
rb_define_alias(cgsl_graph, "use_color", "C");
|
1618
1568
|
rb_define_alias(cgsl_graph, "toggle_use_color", "C");
|
1619
1569
|
|
1620
|
-
rb_define_method(cgsl_graph, "set_symbol_font_name",
|
1621
|
-
|
1570
|
+
rb_define_method(cgsl_graph, "set_symbol_font_name",
|
1571
|
+
rb_gsl_graph_set_symbol_font_name, 1);
|
1622
1572
|
rb_define_alias(cgsl_graph, "symbol_font_name=", "set_symbol_font_name");
|
1623
1573
|
rb_define_method(cgsl_graph, "symbol_font_name", rb_gsl_graph_symbol_font_name, 0);
|
1624
1574
|
|
1625
|
-
rb_define_method(cgsl_graph, "set_reposition",
|
1626
|
-
|
1575
|
+
rb_define_method(cgsl_graph, "set_reposition",
|
1576
|
+
rb_gsl_graph_set_reposition, 1);
|
1627
1577
|
rb_define_alias(cgsl_graph, "reposition=", "set_reposition");
|
1628
1578
|
rb_define_method(cgsl_graph, "reposition", rb_gsl_graph_reposition, 0);
|
1629
1579
|
|
1630
|
-
rb_define_method(cgsl_graph, "set_blankout",
|
1631
|
-
|
1580
|
+
rb_define_method(cgsl_graph, "set_blankout",
|
1581
|
+
rb_gsl_graph_set_blankout, 1);
|
1632
1582
|
rb_define_alias(cgsl_graph, "blankout=", "set_blankout");
|
1633
1583
|
rb_define_method(cgsl_graph, "blankout", rb_gsl_graph_blankout, 0);
|
1634
1584
|
|