rb-gsl 1.15.3.1
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/AUTHORS +6 -0
- data/COPYING +339 -0
- data/ChangeLog +567 -0
- data/README +32 -0
- data/Rakefile +99 -0
- data/THANKS +17 -0
- data/VERSION +1 -0
- data/examples/alf/alf.gp +15 -0
- data/examples/alf/alf.rb +32 -0
- data/examples/blas/blas.rb +13 -0
- data/examples/blas/dnrm2.rb +16 -0
- data/examples/blas/level1.rb +81 -0
- data/examples/blas/level2.rb +11 -0
- data/examples/blas/level3.rb +12 -0
- data/examples/bspline.rb +57 -0
- data/examples/cdf.rb +16 -0
- data/examples/cheb.rb +21 -0
- data/examples/combination.rb +23 -0
- data/examples/complex/RC-lpf.rb +47 -0
- data/examples/complex/add.rb +36 -0
- data/examples/complex/coerce.rb +14 -0
- data/examples/complex/complex.rb +25 -0
- data/examples/complex/fpmi.rb +70 -0
- data/examples/complex/functions.rb +77 -0
- data/examples/complex/michelson.rb +36 -0
- data/examples/complex/mul.rb +28 -0
- data/examples/complex/oscillator.rb +17 -0
- data/examples/complex/set.rb +37 -0
- data/examples/const/physconst.rb +151 -0
- data/examples/const/travel.rb +45 -0
- data/examples/deriv/demo.rb +13 -0
- data/examples/deriv/deriv.rb +36 -0
- data/examples/deriv/diff.rb +35 -0
- data/examples/dht.rb +42 -0
- data/examples/dirac.rb +56 -0
- data/examples/eigen/eigen.rb +34 -0
- data/examples/eigen/herm.rb +22 -0
- data/examples/eigen/narray.rb +9 -0
- data/examples/eigen/nonsymm.rb +37 -0
- data/examples/eigen/nonsymmv.rb +43 -0
- data/examples/eigen/qhoscillator.gp +35 -0
- data/examples/eigen/qhoscillator.rb +90 -0
- data/examples/eigen/vander.rb +41 -0
- data/examples/fft/fft.rb +17 -0
- data/examples/fft/fft2.rb +17 -0
- data/examples/fft/forward.rb +25 -0
- data/examples/fft/forward2.rb +26 -0
- data/examples/fft/radix2.rb +18 -0
- data/examples/fft/real-halfcomplex.rb +33 -0
- data/examples/fft/real-halfcomplex2.rb +30 -0
- data/examples/fft/realradix2.rb +19 -0
- data/examples/fft/sunspot.dat +256 -0
- data/examples/fft/sunspot.rb +16 -0
- data/examples/fit/expdata.dat +20 -0
- data/examples/fit/expfit.rb +31 -0
- data/examples/fit/gaussfit.rb +29 -0
- data/examples/fit/gaussian_2peaks.rb +34 -0
- data/examples/fit/hillfit.rb +40 -0
- data/examples/fit/lognormal.rb +26 -0
- data/examples/fit/lorentzfit.rb +22 -0
- data/examples/fit/multifit.rb +72 -0
- data/examples/fit/ndlinear.rb +133 -0
- data/examples/fit/nonlinearfit.rb +89 -0
- data/examples/fit/plot.gp +36 -0
- data/examples/fit/polyfit.rb +9 -0
- data/examples/fit/powerfit.rb +21 -0
- data/examples/fit/sigmoidfit.rb +40 -0
- data/examples/fit/sinfit.rb +22 -0
- data/examples/fit/wlinear.rb +46 -0
- data/examples/fresnel.rb +11 -0
- data/examples/function/function.rb +36 -0
- data/examples/function/log.rb +7 -0
- data/examples/function/min.rb +33 -0
- data/examples/function/sin.rb +10 -0
- data/examples/function/synchrotron.rb +18 -0
- data/examples/gallery/butterfly.rb +7 -0
- data/examples/gallery/cayley.rb +12 -0
- data/examples/gallery/cornu.rb +23 -0
- data/examples/gallery/eight.rb +11 -0
- data/examples/gallery/koch.rb +40 -0
- data/examples/gallery/lemniscate.rb +11 -0
- data/examples/gallery/polar.rb +11 -0
- data/examples/gallery/rgplot/cossin.rb +35 -0
- data/examples/gallery/rgplot/rgplot.replaced +0 -0
- data/examples/gallery/rgplot/roesller.rb +55 -0
- data/examples/gallery/roesller.rb +39 -0
- data/examples/gallery/scarabaeus.rb +14 -0
- data/examples/histogram/cauchy.rb +27 -0
- data/examples/histogram/cauchy.sh +2 -0
- data/examples/histogram/exponential.rb +19 -0
- data/examples/histogram/gauss.rb +16 -0
- data/examples/histogram/gsl-histogram.rb +40 -0
- data/examples/histogram/histo2d.rb +31 -0
- data/examples/histogram/histo3d.rb +34 -0
- data/examples/histogram/histogram-pdf.rb +27 -0
- data/examples/histogram/histogram.rb +26 -0
- data/examples/histogram/integral.rb +28 -0
- data/examples/histogram/poisson.rb +27 -0
- data/examples/histogram/power.rb +25 -0
- data/examples/histogram/rebin.rb +17 -0
- data/examples/histogram/smp.dat +5 -0
- data/examples/histogram/xexp.rb +21 -0
- data/examples/integration/ahmed.rb +21 -0
- data/examples/integration/cosmology.rb +75 -0
- data/examples/integration/friedmann.gp +16 -0
- data/examples/integration/friedmann.rb +35 -0
- data/examples/integration/gamma-zeta.rb +35 -0
- data/examples/integration/integration.rb +22 -0
- data/examples/integration/qag.rb +8 -0
- data/examples/integration/qag2.rb +14 -0
- data/examples/integration/qag3.rb +8 -0
- data/examples/integration/qagi.rb +28 -0
- data/examples/integration/qagi2.rb +49 -0
- data/examples/integration/qagiu.rb +29 -0
- data/examples/integration/qagp.rb +20 -0
- data/examples/integration/qags.rb +14 -0
- data/examples/integration/qawc.rb +18 -0
- data/examples/integration/qawf.rb +41 -0
- data/examples/integration/qawo.rb +29 -0
- data/examples/integration/qaws.rb +30 -0
- data/examples/integration/qng.rb +17 -0
- data/examples/interp/demo.gp +20 -0
- data/examples/interp/demo.rb +45 -0
- data/examples/interp/interp.rb +37 -0
- data/examples/interp/points +10 -0
- data/examples/interp/spline.rb +20 -0
- data/examples/jacobi/deriv.rb +40 -0
- data/examples/jacobi/integrate.rb +34 -0
- data/examples/jacobi/interp.rb +43 -0
- data/examples/jacobi/jacobi.rb +11 -0
- data/examples/linalg/HH.rb +15 -0
- data/examples/linalg/HH_narray.rb +13 -0
- data/examples/linalg/LQ_solve.rb +73 -0
- data/examples/linalg/LU.rb +84 -0
- data/examples/linalg/LU2.rb +31 -0
- data/examples/linalg/LU_narray.rb +24 -0
- data/examples/linalg/PTLQ.rb +47 -0
- data/examples/linalg/QR.rb +18 -0
- data/examples/linalg/QRPT.rb +47 -0
- data/examples/linalg/QR_solve.rb +78 -0
- data/examples/linalg/QR_solve_narray.rb +13 -0
- data/examples/linalg/SV.rb +16 -0
- data/examples/linalg/SV_narray.rb +12 -0
- data/examples/linalg/SV_solve.rb +49 -0
- data/examples/linalg/chol.rb +29 -0
- data/examples/linalg/chol_narray.rb +15 -0
- data/examples/linalg/complex.rb +57 -0
- data/examples/linalg/invert_narray.rb +10 -0
- data/examples/math/const.rb +67 -0
- data/examples/math/elementary.rb +35 -0
- data/examples/math/functions.rb +41 -0
- data/examples/math/inf_nan.rb +34 -0
- data/examples/math/minmax.rb +22 -0
- data/examples/math/power.rb +18 -0
- data/examples/math/test.rb +31 -0
- data/examples/matrix/a.dat +0 -0
- data/examples/matrix/add.rb +45 -0
- data/examples/matrix/b.dat +4 -0
- data/examples/matrix/cat.rb +31 -0
- data/examples/matrix/colvectors.rb +24 -0
- data/examples/matrix/complex.rb +41 -0
- data/examples/matrix/det.rb +29 -0
- data/examples/matrix/diagonal.rb +23 -0
- data/examples/matrix/get_all.rb +159 -0
- data/examples/matrix/hilbert.rb +31 -0
- data/examples/matrix/iterator.rb +19 -0
- data/examples/matrix/matrix.rb +57 -0
- data/examples/matrix/minmax.rb +53 -0
- data/examples/matrix/mul.rb +39 -0
- data/examples/matrix/rand.rb +20 -0
- data/examples/matrix/read.rb +29 -0
- data/examples/matrix/rowcol.rb +47 -0
- data/examples/matrix/set.rb +41 -0
- data/examples/matrix/set_all.rb +100 -0
- data/examples/matrix/view.rb +32 -0
- data/examples/matrix/view_all.rb +148 -0
- data/examples/matrix/write.rb +23 -0
- data/examples/min.rb +29 -0
- data/examples/monte/miser.rb +47 -0
- data/examples/monte/monte.rb +47 -0
- data/examples/monte/plain.rb +47 -0
- data/examples/monte/vegas.rb +46 -0
- data/examples/multimin/bundle.rb +66 -0
- data/examples/multimin/cqp.rb +109 -0
- data/examples/multimin/fdfminimizer.rb +40 -0
- data/examples/multimin/fminimizer.rb +41 -0
- data/examples/multiroot/demo.rb +36 -0
- data/examples/multiroot/fdfsolver.rb +50 -0
- data/examples/multiroot/fsolver.rb +33 -0
- data/examples/multiroot/fsolver2.rb +32 -0
- data/examples/multiroot/fsolver3.rb +26 -0
- data/examples/narray/histogram.rb +14 -0
- data/examples/narray/mandel.rb +27 -0
- data/examples/narray/narray.rb +28 -0
- data/examples/narray/narray2.rb +44 -0
- data/examples/narray/sf.rb +26 -0
- data/examples/ntuple/create.rb +17 -0
- data/examples/ntuple/project.rb +31 -0
- data/examples/odeiv/binarysystem.gp +23 -0
- data/examples/odeiv/binarysystem.rb +104 -0
- data/examples/odeiv/demo.gp +24 -0
- data/examples/odeiv/demo.rb +69 -0
- data/examples/odeiv/demo2.gp +26 -0
- data/examples/odeiv/duffing.rb +45 -0
- data/examples/odeiv/frei1.rb +109 -0
- data/examples/odeiv/frei2.rb +76 -0
- data/examples/odeiv/legendre.rb +52 -0
- data/examples/odeiv/odeiv.rb +32 -0
- data/examples/odeiv/odeiv2.rb +45 -0
- data/examples/odeiv/oscillator.rb +42 -0
- data/examples/odeiv/sedov.rb +97 -0
- data/examples/odeiv/whitedwarf.gp +40 -0
- data/examples/odeiv/whitedwarf.rb +158 -0
- data/examples/ool/conmin.rb +100 -0
- data/examples/ool/gencan.rb +99 -0
- data/examples/ool/pgrad.rb +100 -0
- data/examples/ool/spg.rb +100 -0
- data/examples/pdf/bernoulli.rb +5 -0
- data/examples/pdf/beta.rb +7 -0
- data/examples/pdf/binomiral.rb +10 -0
- data/examples/pdf/cauchy.rb +6 -0
- data/examples/pdf/chisq.rb +8 -0
- data/examples/pdf/exponential.rb +7 -0
- data/examples/pdf/exppow.rb +6 -0
- data/examples/pdf/fdist.rb +7 -0
- data/examples/pdf/flat.rb +7 -0
- data/examples/pdf/gamma.rb +8 -0
- data/examples/pdf/gauss-tail.rb +5 -0
- data/examples/pdf/gauss.rb +6 -0
- data/examples/pdf/geometric.rb +5 -0
- data/examples/pdf/gumbel.rb +6 -0
- data/examples/pdf/hypergeometric.rb +11 -0
- data/examples/pdf/landau.rb +5 -0
- data/examples/pdf/laplace.rb +7 -0
- data/examples/pdf/logarithmic.rb +5 -0
- data/examples/pdf/logistic.rb +6 -0
- data/examples/pdf/lognormal.rb +6 -0
- data/examples/pdf/neg-binomiral.rb +10 -0
- data/examples/pdf/pareto.rb +7 -0
- data/examples/pdf/pascal.rb +10 -0
- data/examples/pdf/poisson.rb +5 -0
- data/examples/pdf/rayleigh-tail.rb +6 -0
- data/examples/pdf/rayleigh.rb +6 -0
- data/examples/pdf/tdist.rb +6 -0
- data/examples/pdf/weibull.rb +8 -0
- data/examples/permutation/ex1.rb +22 -0
- data/examples/permutation/permutation.rb +16 -0
- data/examples/poly/bell.rb +6 -0
- data/examples/poly/bessel.rb +6 -0
- data/examples/poly/cheb.rb +6 -0
- data/examples/poly/cheb_II.rb +6 -0
- data/examples/poly/cubic.rb +9 -0
- data/examples/poly/demo.rb +20 -0
- data/examples/poly/eval.rb +28 -0
- data/examples/poly/eval_derivs.rb +14 -0
- data/examples/poly/fit.rb +21 -0
- data/examples/poly/hermite.rb +6 -0
- data/examples/poly/poly.rb +13 -0
- data/examples/poly/quadratic.rb +25 -0
- data/examples/random/diffusion.rb +34 -0
- data/examples/random/gaussian.rb +9 -0
- data/examples/random/generator.rb +27 -0
- data/examples/random/hdsobol.rb +21 -0
- data/examples/random/poisson.rb +9 -0
- data/examples/random/qrng.rb +19 -0
- data/examples/random/randomwalk.rb +37 -0
- data/examples/random/randomwalk2d.rb +19 -0
- data/examples/random/rayleigh.rb +36 -0
- data/examples/random/rng.rb +33 -0
- data/examples/random/rngextra.rb +14 -0
- data/examples/roots/bisection.rb +25 -0
- data/examples/roots/brent.rb +43 -0
- data/examples/roots/demo.rb +30 -0
- data/examples/roots/newton.rb +46 -0
- data/examples/roots/recombination.gp +12 -0
- data/examples/roots/recombination.rb +61 -0
- data/examples/roots/steffenson.rb +48 -0
- data/examples/sf/ShiChi.rb +6 -0
- data/examples/sf/SiCi.rb +6 -0
- data/examples/sf/airy_Ai.rb +8 -0
- data/examples/sf/airy_Bi.rb +8 -0
- data/examples/sf/bessel_IK.rb +12 -0
- data/examples/sf/bessel_JY.rb +13 -0
- data/examples/sf/beta_inc.rb +9 -0
- data/examples/sf/clausen.rb +6 -0
- data/examples/sf/dawson.rb +5 -0
- data/examples/sf/debye.rb +9 -0
- data/examples/sf/dilog.rb +6 -0
- data/examples/sf/ellint.rb +6 -0
- data/examples/sf/expint.rb +8 -0
- data/examples/sf/fermi.rb +10 -0
- data/examples/sf/gamma_inc_P.rb +9 -0
- data/examples/sf/gegenbauer.rb +8 -0
- data/examples/sf/hyperg.rb +7 -0
- data/examples/sf/laguerre.rb +19 -0
- data/examples/sf/lambertW.rb +5 -0
- data/examples/sf/legendre_P.rb +10 -0
- data/examples/sf/lngamma.rb +5 -0
- data/examples/sf/psi.rb +54 -0
- data/examples/sf/sphbessel.gp +27 -0
- data/examples/sf/sphbessel.rb +30 -0
- data/examples/sf/synchrotron.rb +5 -0
- data/examples/sf/transport.rb +10 -0
- data/examples/sf/zetam1.rb +5 -0
- data/examples/siman.rb +44 -0
- data/examples/sort/heapsort.rb +23 -0
- data/examples/sort/heapsort_vector_complex.rb +21 -0
- data/examples/sort/sort.rb +23 -0
- data/examples/sort/sort2.rb +16 -0
- data/examples/stats/mean.rb +17 -0
- data/examples/stats/statistics.rb +18 -0
- data/examples/stats/test.rb +9 -0
- data/examples/sum.rb +34 -0
- data/examples/tamu_anova.rb +18 -0
- data/examples/vector/a.dat +0 -0
- data/examples/vector/add.rb +56 -0
- data/examples/vector/b.dat +4 -0
- data/examples/vector/c.dat +3 -0
- data/examples/vector/collect.rb +26 -0
- data/examples/vector/compare.rb +28 -0
- data/examples/vector/complex.rb +51 -0
- data/examples/vector/complex_get_all.rb +85 -0
- data/examples/vector/complex_set_all.rb +131 -0
- data/examples/vector/complex_view_all.rb +77 -0
- data/examples/vector/connect.rb +22 -0
- data/examples/vector/decimate.rb +38 -0
- data/examples/vector/diff.rb +31 -0
- data/examples/vector/filescan.rb +17 -0
- data/examples/vector/floor.rb +23 -0
- data/examples/vector/get_all.rb +82 -0
- data/examples/vector/gnuplot.rb +38 -0
- data/examples/vector/graph.rb +28 -0
- data/examples/vector/histogram.rb +22 -0
- data/examples/vector/linspace.rb +24 -0
- data/examples/vector/log.rb +17 -0
- data/examples/vector/logic.rb +33 -0
- data/examples/vector/logspace.rb +25 -0
- data/examples/vector/minmax.rb +47 -0
- data/examples/vector/mul.rb +49 -0
- data/examples/vector/narray.rb +46 -0
- data/examples/vector/read.rb +29 -0
- data/examples/vector/set.rb +35 -0
- data/examples/vector/set_all.rb +121 -0
- data/examples/vector/smpv.dat +15 -0
- data/examples/vector/test.rb +43 -0
- data/examples/vector/test_gslblock.rb +58 -0
- data/examples/vector/vector.rb +110 -0
- data/examples/vector/view.rb +35 -0
- data/examples/vector/view_all.rb +73 -0
- data/examples/vector/where.rb +29 -0
- data/examples/vector/write.rb +24 -0
- data/examples/vector/zip.rb +34 -0
- data/examples/wavelet/ecg.dat +256 -0
- data/examples/wavelet/wavelet1.rb +50 -0
- data/ext/alf.c +206 -0
- data/ext/array.c +642 -0
- data/ext/array_complex.c +248 -0
- data/ext/blas.c +29 -0
- data/ext/blas1.c +734 -0
- data/ext/blas2.c +1093 -0
- data/ext/blas3.c +881 -0
- data/ext/block.c +44 -0
- data/ext/block_source.c +887 -0
- data/ext/bspline.c +130 -0
- data/ext/bundle.c +3 -0
- data/ext/cdf.c +754 -0
- data/ext/cheb.c +542 -0
- data/ext/combination.c +283 -0
- data/ext/common.c +325 -0
- data/ext/complex.c +1004 -0
- data/ext/const.c +673 -0
- data/ext/const_additional.c +120 -0
- data/ext/cqp.c +283 -0
- data/ext/deriv.c +195 -0
- data/ext/dht.c +361 -0
- data/ext/diff.c +166 -0
- data/ext/dirac.c +389 -0
- data/ext/eigen.c +2373 -0
- data/ext/error.c +193 -0
- data/ext/extconf.rb +303 -0
- data/ext/fcmp.c +66 -0
- data/ext/fft.c +1102 -0
- data/ext/fit.c +205 -0
- data/ext/fresnel.c +312 -0
- data/ext/function.c +524 -0
- data/ext/geometry.c +139 -0
- data/ext/graph.c +1640 -0
- data/ext/gsl.c +280 -0
- data/ext/gsl_narray.c +804 -0
- data/ext/histogram.c +1991 -0
- data/ext/histogram2d.c +1068 -0
- data/ext/histogram3d.c +884 -0
- data/ext/histogram3d_source.c +750 -0
- data/ext/histogram_find.c +101 -0
- data/ext/histogram_oper.c +159 -0
- data/ext/ieee.c +100 -0
- data/ext/integration.c +1179 -0
- data/ext/interp.c +512 -0
- data/ext/jacobi.c +739 -0
- data/ext/linalg.c +4042 -0
- data/ext/linalg_complex.c +739 -0
- data/ext/math.c +725 -0
- data/ext/matrix.c +39 -0
- data/ext/matrix_complex.c +1737 -0
- data/ext/matrix_double.c +560 -0
- data/ext/matrix_int.c +256 -0
- data/ext/matrix_source.c +2734 -0
- data/ext/min.c +250 -0
- data/ext/monte.c +992 -0
- data/ext/multifit.c +1871 -0
- data/ext/multimin.c +806 -0
- data/ext/multimin_fsdf.c +156 -0
- data/ext/multiroots.c +955 -0
- data/ext/multiset.c +214 -0
- data/ext/ndlinear.c +321 -0
- data/ext/nmf.c +171 -0
- data/ext/nmf_wrap.c +75 -0
- data/ext/ntuple.c +469 -0
- data/ext/odeiv.c +962 -0
- data/ext/ool.c +879 -0
- data/ext/oper_complex_source.c +253 -0
- data/ext/permutation.c +596 -0
- data/ext/poly.c +42 -0
- data/ext/poly2.c +265 -0
- data/ext/poly_source.c +1915 -0
- data/ext/qrng.c +171 -0
- data/ext/randist.c +1873 -0
- data/ext/rational.c +480 -0
- data/ext/rng.c +612 -0
- data/ext/root.c +408 -0
- data/ext/sf.c +1494 -0
- data/ext/sf_airy.c +200 -0
- data/ext/sf_bessel.c +871 -0
- data/ext/sf_clausen.c +28 -0
- data/ext/sf_coulomb.c +206 -0
- data/ext/sf_coupling.c +121 -0
- data/ext/sf_dawson.c +29 -0
- data/ext/sf_debye.c +157 -0
- data/ext/sf_dilog.c +43 -0
- data/ext/sf_elementary.c +46 -0
- data/ext/sf_ellint.c +206 -0
- data/ext/sf_elljac.c +30 -0
- data/ext/sf_erfc.c +93 -0
- data/ext/sf_exp.c +169 -0
- data/ext/sf_expint.c +211 -0
- data/ext/sf_fermi_dirac.c +148 -0
- data/ext/sf_gamma.c +347 -0
- data/ext/sf_gegenbauer.c +97 -0
- data/ext/sf_hyperg.c +203 -0
- data/ext/sf_laguerre.c +113 -0
- data/ext/sf_lambert.c +47 -0
- data/ext/sf_legendre.c +368 -0
- data/ext/sf_log.c +105 -0
- data/ext/sf_mathieu.c +238 -0
- data/ext/sf_power.c +47 -0
- data/ext/sf_psi.c +98 -0
- data/ext/sf_synchrotron.c +48 -0
- data/ext/sf_transport.c +76 -0
- data/ext/sf_trigonometric.c +210 -0
- data/ext/sf_zeta.c +119 -0
- data/ext/signal.c +308 -0
- data/ext/siman.c +717 -0
- data/ext/sort.c +208 -0
- data/ext/spline.c +395 -0
- data/ext/stats.c +800 -0
- data/ext/sum.c +168 -0
- data/ext/tamu_anova.c +56 -0
- data/ext/tensor.c +38 -0
- data/ext/tensor_source.c +1123 -0
- data/ext/vector.c +38 -0
- data/ext/vector_complex.c +2246 -0
- data/ext/vector_double.c +1438 -0
- data/ext/vector_int.c +204 -0
- data/ext/vector_source.c +3336 -0
- data/ext/wavelet.c +945 -0
- data/include/rb_gsl.h +158 -0
- data/include/rb_gsl_array.h +238 -0
- data/include/rb_gsl_cheb.h +21 -0
- data/include/rb_gsl_common.h +348 -0
- data/include/rb_gsl_complex.h +25 -0
- data/include/rb_gsl_config.h +62 -0
- data/include/rb_gsl_const.h +29 -0
- data/include/rb_gsl_dirac.h +13 -0
- data/include/rb_gsl_eigen.h +17 -0
- data/include/rb_gsl_fft.h +62 -0
- data/include/rb_gsl_fit.h +25 -0
- data/include/rb_gsl_function.h +27 -0
- data/include/rb_gsl_graph.h +70 -0
- data/include/rb_gsl_histogram.h +63 -0
- data/include/rb_gsl_histogram3d.h +97 -0
- data/include/rb_gsl_integration.h +17 -0
- data/include/rb_gsl_interp.h +46 -0
- data/include/rb_gsl_linalg.h +25 -0
- data/include/rb_gsl_math.h +26 -0
- data/include/rb_gsl_odeiv.h +21 -0
- data/include/rb_gsl_poly.h +71 -0
- data/include/rb_gsl_rational.h +37 -0
- data/include/rb_gsl_rng.h +21 -0
- data/include/rb_gsl_root.h +22 -0
- data/include/rb_gsl_sf.h +119 -0
- data/include/rb_gsl_statistics.h +17 -0
- data/include/rb_gsl_tensor.h +45 -0
- data/include/rb_gsl_with_narray.h +29 -0
- data/include/templates_off.h +87 -0
- data/include/templates_on.h +241 -0
- data/lib/gsl.rb +3 -0
- data/lib/gsl/gnuplot.rb +41 -0
- data/lib/gsl/oper.rb +68 -0
- data/lib/ool.rb +22 -0
- data/lib/ool/conmin.rb +30 -0
- data/lib/rbgsl.rb +3 -0
- data/rdoc/alf.rdoc +77 -0
- data/rdoc/blas.rdoc +269 -0
- data/rdoc/bspline.rdoc +42 -0
- data/rdoc/changes.rdoc +164 -0
- data/rdoc/cheb.rdoc +99 -0
- data/rdoc/cholesky_complex.rdoc +46 -0
- data/rdoc/combi.rdoc +125 -0
- data/rdoc/complex.rdoc +210 -0
- data/rdoc/const.rdoc +546 -0
- data/rdoc/dht.rdoc +122 -0
- data/rdoc/diff.rdoc +133 -0
- data/rdoc/ehandling.rdoc +50 -0
- data/rdoc/eigen.rdoc +401 -0
- data/rdoc/fft.rdoc +535 -0
- data/rdoc/fit.rdoc +284 -0
- data/rdoc/function.rdoc +94 -0
- data/rdoc/graph.rdoc +137 -0
- data/rdoc/hist.rdoc +409 -0
- data/rdoc/hist2d.rdoc +279 -0
- data/rdoc/hist3d.rdoc +112 -0
- data/rdoc/index.rdoc +62 -0
- data/rdoc/integration.rdoc +398 -0
- data/rdoc/interp.rdoc +231 -0
- data/rdoc/intro.rdoc +27 -0
- data/rdoc/linalg.rdoc +681 -0
- data/rdoc/linalg_complex.rdoc +88 -0
- data/rdoc/math.rdoc +276 -0
- data/rdoc/matrix.rdoc +1093 -0
- data/rdoc/min.rdoc +189 -0
- data/rdoc/monte.rdoc +234 -0
- data/rdoc/multimin.rdoc +312 -0
- data/rdoc/multiroot.rdoc +293 -0
- data/rdoc/narray.rdoc +177 -0
- data/rdoc/ndlinear.rdoc +250 -0
- data/rdoc/nonlinearfit.rdoc +348 -0
- data/rdoc/ntuple.rdoc +88 -0
- data/rdoc/odeiv.rdoc +378 -0
- data/rdoc/perm.rdoc +221 -0
- data/rdoc/poly.rdoc +335 -0
- data/rdoc/qrng.rdoc +90 -0
- data/rdoc/randist.rdoc +233 -0
- data/rdoc/ref.rdoc +93 -0
- data/rdoc/rng.rdoc +203 -0
- data/rdoc/rngextra.rdoc +11 -0
- data/rdoc/roots.rdoc +305 -0
- data/rdoc/screenshot.rdoc +40 -0
- data/rdoc/sf.rdoc +1622 -0
- data/rdoc/siman.rdoc +89 -0
- data/rdoc/sort.rdoc +94 -0
- data/rdoc/start.rdoc +16 -0
- data/rdoc/stats.rdoc +219 -0
- data/rdoc/sum.rdoc +65 -0
- data/rdoc/tensor.rdoc +251 -0
- data/rdoc/tut.rdoc +5 -0
- data/rdoc/use.rdoc +177 -0
- data/rdoc/vector.rdoc +1243 -0
- data/rdoc/vector_complex.rdoc +347 -0
- data/rdoc/wavelet.rdoc +218 -0
- data/setup.rb +1585 -0
- data/tests/blas/amax.rb +14 -0
- data/tests/blas/asum.rb +16 -0
- data/tests/blas/axpy.rb +25 -0
- data/tests/blas/copy.rb +23 -0
- data/tests/blas/dot.rb +23 -0
- data/tests/bspline.rb +53 -0
- data/tests/cdf.rb +1388 -0
- data/tests/cheb.rb +112 -0
- data/tests/combination.rb +123 -0
- data/tests/complex.rb +17 -0
- data/tests/const.rb +24 -0
- data/tests/deriv.rb +85 -0
- data/tests/dht/dht1.rb +17 -0
- data/tests/dht/dht2.rb +23 -0
- data/tests/dht/dht3.rb +23 -0
- data/tests/dht/dht4.rb +23 -0
- data/tests/diff.rb +78 -0
- data/tests/eigen/eigen.rb +220 -0
- data/tests/eigen/gen.rb +105 -0
- data/tests/eigen/genherm.rb +66 -0
- data/tests/eigen/gensymm.rb +68 -0
- data/tests/eigen/nonsymm.rb +53 -0
- data/tests/eigen/nonsymmv.rb +53 -0
- data/tests/eigen/symm-herm.rb +74 -0
- data/tests/err.rb +58 -0
- data/tests/fit.rb +124 -0
- data/tests/gsl_test.rb +118 -0
- data/tests/gsl_test2.rb +110 -0
- data/tests/histo.rb +12 -0
- data/tests/integration/integration1.rb +72 -0
- data/tests/integration/integration2.rb +71 -0
- data/tests/integration/integration3.rb +71 -0
- data/tests/integration/integration4.rb +71 -0
- data/tests/interp.rb +45 -0
- data/tests/linalg/HH.rb +64 -0
- data/tests/linalg/LU.rb +47 -0
- data/tests/linalg/QR.rb +77 -0
- data/tests/linalg/SV.rb +24 -0
- data/tests/linalg/TDN.rb +116 -0
- data/tests/linalg/TDS.rb +122 -0
- data/tests/linalg/bidiag.rb +73 -0
- data/tests/linalg/cholesky.rb +20 -0
- data/tests/linalg/linalg.rb +158 -0
- data/tests/matrix/matrix_complex_test.rb +36 -0
- data/tests/matrix/matrix_nmf_test.rb +39 -0
- data/tests/matrix/matrix_test.rb +48 -0
- data/tests/min.rb +99 -0
- data/tests/monte/miser.rb +31 -0
- data/tests/monte/vegas.rb +45 -0
- data/tests/multifit/test_2dgauss.rb +112 -0
- data/tests/multifit/test_brown.rb +90 -0
- data/tests/multifit/test_enso.rb +246 -0
- data/tests/multifit/test_filip.rb +155 -0
- data/tests/multifit/test_gauss.rb +97 -0
- data/tests/multifit/test_longley.rb +110 -0
- data/tests/multifit/test_multifit.rb +52 -0
- data/tests/multimin.rb +139 -0
- data/tests/multiroot.rb +131 -0
- data/tests/multiset.rb +52 -0
- data/tests/narray/blas_dnrm2.rb +20 -0
- data/tests/odeiv.rb +353 -0
- data/tests/poly/poly.rb +290 -0
- data/tests/poly/special.rb +65 -0
- data/tests/qrng.rb +131 -0
- data/tests/quartic.rb +29 -0
- data/tests/randist.rb +134 -0
- data/tests/rng.rb +305 -0
- data/tests/roots.rb +76 -0
- data/tests/run-test.sh +17 -0
- data/tests/sf/gsl_test_sf.rb +249 -0
- data/tests/sf/test_airy.rb +83 -0
- data/tests/sf/test_bessel.rb +306 -0
- data/tests/sf/test_coulomb.rb +17 -0
- data/tests/sf/test_dilog.rb +25 -0
- data/tests/sf/test_gamma.rb +209 -0
- data/tests/sf/test_hyperg.rb +356 -0
- data/tests/sf/test_legendre.rb +227 -0
- data/tests/sf/test_mathieu.rb +59 -0
- data/tests/sf/test_mode.rb +19 -0
- data/tests/sf/test_sf.rb +839 -0
- data/tests/stats.rb +174 -0
- data/tests/stats_mt.rb +16 -0
- data/tests/sum.rb +98 -0
- data/tests/sys.rb +323 -0
- data/tests/tensor.rb +419 -0
- data/tests/vector/vector_complex_test.rb +101 -0
- data/tests/vector/vector_test.rb +141 -0
- data/tests/wavelet.rb +142 -0
- metadata +789 -0
data/ext/sf_dilog.c
ADDED
@@ -0,0 +1,43 @@
|
|
1
|
+
/*
|
2
|
+
sf_dilog.c
|
3
|
+
Ruby/GSL: Ruby extension library for GSL (GNU Scientific Library)
|
4
|
+
(C) Copyright 2001-2006 by Yoshiki Tsunesada
|
5
|
+
|
6
|
+
Ruby/GSL is free software: you can redistribute it and/or modify it
|
7
|
+
under the terms of the GNU General Public License.
|
8
|
+
This library is distributed in the hope that it will be useful, but
|
9
|
+
WITHOUT ANY WARRANTY; without even the implied warranty of
|
10
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
11
|
+
*/
|
12
|
+
|
13
|
+
#include "rb_gsl_sf.h"
|
14
|
+
|
15
|
+
static VALUE rb_gsl_sf_dilog(VALUE obj, VALUE x)
|
16
|
+
{
|
17
|
+
return rb_gsl_sf_eval1(gsl_sf_dilog, x);
|
18
|
+
}
|
19
|
+
|
20
|
+
static VALUE rb_gsl_sf_dilog_e(VALUE obj, VALUE x)
|
21
|
+
{
|
22
|
+
return rb_gsl_sf_eval_e(gsl_sf_dilog_e, x);
|
23
|
+
}
|
24
|
+
|
25
|
+
static VALUE rb_gsl_sf_complex_dilog_e(VALUE obj, VALUE r, VALUE theta)
|
26
|
+
{
|
27
|
+
gsl_sf_result *re, *im;
|
28
|
+
VALUE vre, vim;
|
29
|
+
// local variable "status" declared and set, but never used
|
30
|
+
//int status;
|
31
|
+
Need_Float(r); Need_Float(theta);
|
32
|
+
vre = Data_Make_Struct(cgsl_sf_result, gsl_sf_result, 0, free, re);
|
33
|
+
vim = Data_Make_Struct(cgsl_sf_result, gsl_sf_result, 0, free, im);
|
34
|
+
/*status =*/ gsl_sf_complex_dilog_e(NUM2DBL(r), NUM2DBL(theta), re, im);
|
35
|
+
return rb_ary_new3(2, vre, vim);
|
36
|
+
}
|
37
|
+
|
38
|
+
void Init_gsl_sf_dilog(VALUE module)
|
39
|
+
{
|
40
|
+
rb_define_module_function(module, "dilog", rb_gsl_sf_dilog, 1);
|
41
|
+
rb_define_module_function(module, "dilog_e", rb_gsl_sf_dilog_e, 1);
|
42
|
+
rb_define_module_function(module, "complex_dilog_e", rb_gsl_sf_complex_dilog_e, 2);
|
43
|
+
}
|
data/ext/sf_elementary.c
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
/*
|
2
|
+
sf_elementary.c
|
3
|
+
Ruby/GSL: Ruby extension library for GSL (GNU Scientific Library)
|
4
|
+
(C) Copyright 2001-2006 by Yoshiki Tsunesada
|
5
|
+
|
6
|
+
Ruby/GSL is free software: you can redistribute it and/or modify it
|
7
|
+
under the terms of the GNU General Public License.
|
8
|
+
This library is distributed in the hope that it will be useful, but
|
9
|
+
WITHOUT ANY WARRANTY; without even the implied warranty of
|
10
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
11
|
+
*/
|
12
|
+
|
13
|
+
#include "rb_gsl_sf.h"
|
14
|
+
|
15
|
+
static VALUE rb_gsl_sf_multiply_e(VALUE obj, VALUE x, VALUE y)
|
16
|
+
{
|
17
|
+
gsl_sf_result *r;
|
18
|
+
VALUE v;
|
19
|
+
// local variable "status" declared and set, but never used
|
20
|
+
//int status;
|
21
|
+
Need_Float(x); Need_Float(y);
|
22
|
+
v = Data_Make_Struct(cgsl_sf_result, gsl_sf_result, 0, free, r);
|
23
|
+
/*status =*/ gsl_sf_multiply_e(NUM2DBL(x), NUM2DBL(y), r);
|
24
|
+
return v;
|
25
|
+
}
|
26
|
+
|
27
|
+
static VALUE rb_gsl_sf_multiply_err_e(VALUE obj, VALUE x, VALUE dx,
|
28
|
+
VALUE y, VALUE dy)
|
29
|
+
{
|
30
|
+
gsl_sf_result *r;
|
31
|
+
VALUE v;
|
32
|
+
// local variable "status" declared and set, but never used
|
33
|
+
//int status;
|
34
|
+
Need_Float(x); Need_Float(y);
|
35
|
+
Need_Float(dx); Need_Float(dy);
|
36
|
+
v = Data_Make_Struct(cgsl_sf_result, gsl_sf_result, 0, free, r);
|
37
|
+
/*status =*/ gsl_sf_multiply_err_e(NUM2DBL(x), NUM2DBL(dx),
|
38
|
+
NUM2DBL(y), NUM2DBL(dy), r);
|
39
|
+
return v;
|
40
|
+
}
|
41
|
+
|
42
|
+
void Init_gsl_sf_elementary(VALUE module)
|
43
|
+
{
|
44
|
+
rb_define_module_function(module, "multiply_e", rb_gsl_sf_multiply_e, 2);
|
45
|
+
rb_define_module_function(module, "multiply_err_e", rb_gsl_sf_multiply_err_e, 4);
|
46
|
+
}
|
data/ext/sf_ellint.c
ADDED
@@ -0,0 +1,206 @@
|
|
1
|
+
/*
|
2
|
+
sf_ellint.c
|
3
|
+
Ruby/GSL: Ruby extension library for GSL (GNU Scientific Library)
|
4
|
+
(C) Copyright 2001-2006 by Yoshiki Tsunesada
|
5
|
+
|
6
|
+
Ruby/GSL is free software: you can redistribute it and/or modify it
|
7
|
+
under the terms of the GNU General Public License.
|
8
|
+
This library is distributed in the hope that it will be useful, but
|
9
|
+
WITHOUT ANY WARRANTY; without even the implied warranty of
|
10
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
11
|
+
*/
|
12
|
+
|
13
|
+
#include "rb_gsl_sf.h"
|
14
|
+
|
15
|
+
static VALUE rb_gsl_sf_ellint_Kcomp(int argc, VALUE *argv, VALUE obj)
|
16
|
+
{
|
17
|
+
if (argc == 1) return eval_sf(gsl_sf_ellint_Kcomp, argv[0]);
|
18
|
+
else return rb_gsl_sf_eval_double_m(gsl_sf_ellint_Kcomp, argv[0], argv[1]);
|
19
|
+
}
|
20
|
+
|
21
|
+
static VALUE rb_gsl_sf_ellint_Kcomp_e(VALUE obj, VALUE k, VALUE m)
|
22
|
+
{
|
23
|
+
return rb_gsl_sf_eval_e_m(gsl_sf_ellint_Kcomp_e, k, m);
|
24
|
+
}
|
25
|
+
|
26
|
+
static VALUE rb_gsl_sf_ellint_Ecomp(int argc, VALUE *argv, VALUE obj)
|
27
|
+
{
|
28
|
+
if (argc == 1) return eval_sf(gsl_sf_ellint_Ecomp, argv[0]);
|
29
|
+
else return rb_gsl_sf_eval_double_m(gsl_sf_ellint_Ecomp, argv[0], argv[1]);
|
30
|
+
}
|
31
|
+
|
32
|
+
static VALUE rb_gsl_sf_ellint_Ecomp_e(VALUE obj, VALUE k, VALUE m)
|
33
|
+
{
|
34
|
+
return rb_gsl_sf_eval_e_m(gsl_sf_ellint_Ecomp_e, k, m);
|
35
|
+
}
|
36
|
+
|
37
|
+
static VALUE rb_gsl_sf_ellint_F(int argc, VALUE *argv, VALUE obj)
|
38
|
+
{
|
39
|
+
if (argc == 2)
|
40
|
+
return rb_gsl_sf_eval_double2_m(gsl_sf_ellint_F, argv[0], argv[1],
|
41
|
+
INT2FIX(GSL_PREC_DOUBLE));
|
42
|
+
else
|
43
|
+
return rb_gsl_sf_eval_double2_m(gsl_sf_ellint_F, argv[0], argv[1], argv[2]);
|
44
|
+
}
|
45
|
+
|
46
|
+
static VALUE rb_gsl_sf_ellint_F_e(VALUE obj, VALUE phi, VALUE k, VALUE m)
|
47
|
+
{
|
48
|
+
return rb_gsl_sf_eval_e_double2_m(gsl_sf_ellint_F_e, phi, k, m);
|
49
|
+
}
|
50
|
+
|
51
|
+
static VALUE rb_gsl_sf_ellint_E(int argc, VALUE *argv, VALUE obj)
|
52
|
+
{
|
53
|
+
if (argc == 2)
|
54
|
+
return rb_gsl_sf_eval_double2_m(gsl_sf_ellint_E, argv[0], argv[1],
|
55
|
+
INT2FIX(GSL_PREC_DOUBLE));
|
56
|
+
else
|
57
|
+
return rb_gsl_sf_eval_double2_m(gsl_sf_ellint_E, argv[0], argv[1], argv[2]);
|
58
|
+
}
|
59
|
+
|
60
|
+
static VALUE rb_gsl_sf_ellint_E_e(VALUE obj, VALUE phi, VALUE k, VALUE m)
|
61
|
+
{
|
62
|
+
return rb_gsl_sf_eval_e_double2_m(gsl_sf_ellint_E_e, phi, k, m);
|
63
|
+
}
|
64
|
+
|
65
|
+
static VALUE rb_gsl_sf_ellint_P(int argc, VALUE *argv, VALUE obj)
|
66
|
+
|
67
|
+
{
|
68
|
+
if (argc == 3)
|
69
|
+
return rb_gsl_sf_eval_double3_m(gsl_sf_ellint_P, argv[0], argv[1], argv[2],
|
70
|
+
INT2FIX(GSL_PREC_DOUBLE));
|
71
|
+
else
|
72
|
+
return rb_gsl_sf_eval_double3_m(gsl_sf_ellint_P, argv[0], argv[1], argv[2],
|
73
|
+
argv[3]);
|
74
|
+
}
|
75
|
+
|
76
|
+
static VALUE rb_gsl_sf_ellint_P_e(VALUE obj, VALUE phi, VALUE k,
|
77
|
+
VALUE n, VALUE m)
|
78
|
+
{
|
79
|
+
return rb_gsl_sf_eval_e_double3_m(gsl_sf_ellint_P_e, phi, k, n, m);
|
80
|
+
}
|
81
|
+
|
82
|
+
static VALUE rb_gsl_sf_ellint_D(int argc, VALUE *argv, VALUE obj)
|
83
|
+
{
|
84
|
+
if (argc == 3)
|
85
|
+
return rb_gsl_sf_eval_double3_m(gsl_sf_ellint_D, argv[0], argv[1], argv[2],
|
86
|
+
INT2FIX(GSL_PREC_DOUBLE));
|
87
|
+
else
|
88
|
+
return rb_gsl_sf_eval_double3_m(gsl_sf_ellint_D, argv[0], argv[1], argv[2],
|
89
|
+
argv[3]);
|
90
|
+
}
|
91
|
+
|
92
|
+
static VALUE rb_gsl_sf_ellint_D_e(VALUE obj, VALUE phi, VALUE k,
|
93
|
+
VALUE n, VALUE m)
|
94
|
+
{
|
95
|
+
return rb_gsl_sf_eval_e_double3_m(gsl_sf_ellint_D_e, phi, k, n, m);
|
96
|
+
}
|
97
|
+
|
98
|
+
static VALUE rb_gsl_sf_ellint_RC(int argc, VALUE *argv, VALUE obj)
|
99
|
+
{
|
100
|
+
if (argc == 2)
|
101
|
+
return rb_gsl_sf_eval_double2_m(gsl_sf_ellint_RC, argv[0], argv[1],
|
102
|
+
INT2FIX(GSL_PREC_DOUBLE));
|
103
|
+
else
|
104
|
+
return rb_gsl_sf_eval_double2_m(gsl_sf_ellint_RC, argv[0], argv[1], argv[2]);
|
105
|
+
}
|
106
|
+
|
107
|
+
static VALUE rb_gsl_sf_ellint_RC_e(VALUE obj, VALUE x, VALUE y, VALUE m)
|
108
|
+
{
|
109
|
+
return rb_gsl_sf_eval_e_double2_m(gsl_sf_ellint_RC_e, x, y, m);
|
110
|
+
}
|
111
|
+
|
112
|
+
static VALUE rb_gsl_sf_ellint_RD(int argc, VALUE *argv, VALUE obj)
|
113
|
+
{
|
114
|
+
if (argc == 3)
|
115
|
+
return rb_gsl_sf_eval_double3_m(gsl_sf_ellint_RD, argv[0], argv[1], argv[2],
|
116
|
+
INT2FIX(GSL_PREC_DOUBLE));
|
117
|
+
else
|
118
|
+
return rb_gsl_sf_eval_double3_m(gsl_sf_ellint_RD, argv[0], argv[1], argv[2],
|
119
|
+
argv[3]);
|
120
|
+
}
|
121
|
+
|
122
|
+
static VALUE rb_gsl_sf_ellint_RD_e(VALUE obj, VALUE x, VALUE y,
|
123
|
+
VALUE z, VALUE m)
|
124
|
+
{
|
125
|
+
return rb_gsl_sf_eval_e_double3_m(gsl_sf_ellint_RD_e, x, y, z, m);
|
126
|
+
}
|
127
|
+
|
128
|
+
static VALUE rb_gsl_sf_ellint_RF(int argc, VALUE *argv, VALUE obj)
|
129
|
+
{
|
130
|
+
if (argc == 3)
|
131
|
+
return rb_gsl_sf_eval_double3_m(gsl_sf_ellint_RF, argv[0], argv[1], argv[2],
|
132
|
+
INT2FIX(GSL_PREC_DOUBLE));
|
133
|
+
else
|
134
|
+
return rb_gsl_sf_eval_double3_m(gsl_sf_ellint_RF, argv[0], argv[1], argv[2],
|
135
|
+
argv[3]);
|
136
|
+
}
|
137
|
+
|
138
|
+
static VALUE rb_gsl_sf_ellint_RF_e(VALUE obj, VALUE x, VALUE y,
|
139
|
+
VALUE z, VALUE m)
|
140
|
+
{
|
141
|
+
return rb_gsl_sf_eval_e_double3_m(gsl_sf_ellint_RF_e, x, y, z, m);
|
142
|
+
}
|
143
|
+
|
144
|
+
static VALUE rb_gsl_sf_ellint_RJ(int argc, VALUE *argv, VALUE obj)
|
145
|
+
{
|
146
|
+
if (argc == 4)
|
147
|
+
return rb_gsl_sf_eval_double4_m(gsl_sf_ellint_RJ, argv[0], argv[1], argv[2],
|
148
|
+
argv[3], INT2FIX(GSL_PREC_DOUBLE));
|
149
|
+
else
|
150
|
+
return rb_gsl_sf_eval_double4_m(gsl_sf_ellint_RJ, argv[0], argv[1], argv[2],
|
151
|
+
argv[3], argv[4]);
|
152
|
+
}
|
153
|
+
|
154
|
+
static VALUE rb_gsl_sf_ellint_RJ_e(VALUE obj, VALUE x, VALUE y,
|
155
|
+
VALUE z, VALUE p, VALUE m)
|
156
|
+
{
|
157
|
+
return rb_gsl_sf_eval_e_double4_m(gsl_sf_ellint_RJ_e, x, y, z, p, m);
|
158
|
+
}
|
159
|
+
|
160
|
+
void Init_gsl_sf_ellint(VALUE module)
|
161
|
+
{
|
162
|
+
VALUE mgsl_sf_ellint;
|
163
|
+
|
164
|
+
rb_define_module_function(module, "ellint_Kcomp", rb_gsl_sf_ellint_Kcomp, -1);
|
165
|
+
rb_define_module_function(module, "ellint_Kcomp_e", rb_gsl_sf_ellint_Kcomp_e, 2);
|
166
|
+
rb_define_module_function(module, "ellint_Ecomp", rb_gsl_sf_ellint_Ecomp, -1);
|
167
|
+
rb_define_module_function(module, "ellint_Ecomp_e", rb_gsl_sf_ellint_Ecomp_e, 2);
|
168
|
+
rb_define_module_function(module, "ellint_F", rb_gsl_sf_ellint_F, -1);
|
169
|
+
rb_define_module_function(module, "ellint_F_e", rb_gsl_sf_ellint_F_e, 3);
|
170
|
+
rb_define_module_function(module, "ellint_E", rb_gsl_sf_ellint_E, -1);
|
171
|
+
rb_define_module_function(module, "ellint_E_e", rb_gsl_sf_ellint_E_e, 3);
|
172
|
+
rb_define_module_function(module, "ellint_P", rb_gsl_sf_ellint_P, -1);
|
173
|
+
rb_define_module_function(module, "ellint_P_e", rb_gsl_sf_ellint_P_e, 4);
|
174
|
+
rb_define_module_function(module, "ellint_D", rb_gsl_sf_ellint_D, -1);
|
175
|
+
rb_define_module_function(module, "ellint_D_e", rb_gsl_sf_ellint_D_e, 4);
|
176
|
+
rb_define_module_function(module, "ellint_RC", rb_gsl_sf_ellint_RC, -1);
|
177
|
+
rb_define_module_function(module, "ellint_RC_e", rb_gsl_sf_ellint_RC_e, 3);
|
178
|
+
rb_define_module_function(module, "ellint_RD", rb_gsl_sf_ellint_RD, -1);
|
179
|
+
rb_define_module_function(module, "ellint_RD_e", rb_gsl_sf_ellint_RD_e, 4);
|
180
|
+
rb_define_module_function(module, "ellint_RF", rb_gsl_sf_ellint_RF, -1);
|
181
|
+
rb_define_module_function(module, "ellint_RF_e", rb_gsl_sf_ellint_RF_e, 4);
|
182
|
+
rb_define_module_function(module, "ellint_RJ", rb_gsl_sf_ellint_RJ, -1);
|
183
|
+
rb_define_module_function(module, "ellint_RJ_e", rb_gsl_sf_ellint_RJ_e, 5);
|
184
|
+
|
185
|
+
mgsl_sf_ellint = rb_define_module_under(module, "Ellint");
|
186
|
+
rb_define_module_function(mgsl_sf_ellint, "Kcomp", rb_gsl_sf_ellint_Kcomp, -1);
|
187
|
+
rb_define_module_function(mgsl_sf_ellint, "Kcomp_e", rb_gsl_sf_ellint_Kcomp_e, 2);
|
188
|
+
rb_define_module_function(mgsl_sf_ellint, "Ecomp", rb_gsl_sf_ellint_Ecomp, -1);
|
189
|
+
rb_define_module_function(mgsl_sf_ellint, "Ecomp_e", rb_gsl_sf_ellint_Ecomp_e, 2);
|
190
|
+
rb_define_module_function(mgsl_sf_ellint, "F", rb_gsl_sf_ellint_F, -1);
|
191
|
+
rb_define_module_function(mgsl_sf_ellint, "F_e", rb_gsl_sf_ellint_F_e, 3);
|
192
|
+
rb_define_module_function(mgsl_sf_ellint, "E", rb_gsl_sf_ellint_E, -1);
|
193
|
+
rb_define_module_function(mgsl_sf_ellint, "E_e", rb_gsl_sf_ellint_E_e, 3);
|
194
|
+
rb_define_module_function(mgsl_sf_ellint, "P", rb_gsl_sf_ellint_P, -1);
|
195
|
+
rb_define_module_function(mgsl_sf_ellint, "P_e", rb_gsl_sf_ellint_P_e, 4);
|
196
|
+
rb_define_module_function(mgsl_sf_ellint, "D", rb_gsl_sf_ellint_D, -1);
|
197
|
+
rb_define_module_function(mgsl_sf_ellint, "D_e", rb_gsl_sf_ellint_D_e, 4);
|
198
|
+
rb_define_module_function(mgsl_sf_ellint, "RC", rb_gsl_sf_ellint_RC, -1);
|
199
|
+
rb_define_module_function(mgsl_sf_ellint, "RC_e", rb_gsl_sf_ellint_RC_e, 3);
|
200
|
+
rb_define_module_function(mgsl_sf_ellint, "RD", rb_gsl_sf_ellint_RD, -1);
|
201
|
+
rb_define_module_function(mgsl_sf_ellint, "RD_e", rb_gsl_sf_ellint_RD_e, 4);
|
202
|
+
rb_define_module_function(mgsl_sf_ellint, "RF", rb_gsl_sf_ellint_RF, -1);
|
203
|
+
rb_define_module_function(mgsl_sf_ellint, "RF_e", rb_gsl_sf_ellint_RF_e, 4);
|
204
|
+
rb_define_module_function(mgsl_sf_ellint, "RJ", rb_gsl_sf_ellint_RJ, -1);
|
205
|
+
rb_define_module_function(mgsl_sf_ellint, "RJ_e", rb_gsl_sf_ellint_RJ_e, 5);
|
206
|
+
}
|
data/ext/sf_elljac.c
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
/*
|
2
|
+
sf_elljac.c
|
3
|
+
Ruby/GSL: Ruby extension library for GSL (GNU Scientific Library)
|
4
|
+
(C) Copyright 2001-2006 by Yoshiki Tsunesada
|
5
|
+
|
6
|
+
Ruby/GSL is free software: you can redistribute it and/or modify it
|
7
|
+
under the terms of the GNU General Public License.
|
8
|
+
This library is distributed in the hope that it will be useful, but
|
9
|
+
WITHOUT ANY WARRANTY; without even the implied warranty of
|
10
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
11
|
+
*/
|
12
|
+
|
13
|
+
#include "rb_gsl_sf.h"
|
14
|
+
|
15
|
+
static VALUE rb_gsl_sf_elljac_e(VALUE obj, VALUE n, VALUE m)
|
16
|
+
{
|
17
|
+
double sn, cn, dn;
|
18
|
+
// local variable "status" declared and set, but never used
|
19
|
+
//int status;
|
20
|
+
Need_Float(n); Need_Float(m);
|
21
|
+
/*status =*/ gsl_sf_elljac_e(NUM2DBL(n), NUM2DBL(m), &sn, &cn, &dn);
|
22
|
+
return rb_ary_new3(3, rb_float_new(sn),
|
23
|
+
rb_float_new(cn), rb_float_new(dn));
|
24
|
+
}
|
25
|
+
|
26
|
+
void Init_gsl_sf_elljac(VALUE module)
|
27
|
+
{
|
28
|
+
rb_define_module_function(module, "elljac_e", rb_gsl_sf_elljac_e, 2);
|
29
|
+
rb_define_module_function(module, "elljac", rb_gsl_sf_elljac_e, 2);
|
30
|
+
}
|
data/ext/sf_erfc.c
ADDED
@@ -0,0 +1,93 @@
|
|
1
|
+
/*
|
2
|
+
sf_erfc.c
|
3
|
+
Ruby/GSL: Ruby extension library for GSL (GNU Scientific Library)
|
4
|
+
(C) Copyright 2001-2006 by Yoshiki Tsunesada
|
5
|
+
|
6
|
+
Ruby/GSL is free software: you can redistribute it and/or modify it
|
7
|
+
under the terms of the GNU General Public License.
|
8
|
+
This library is distributed in the hope that it will be useful, but
|
9
|
+
WITHOUT ANY WARRANTY; without even the implied warranty of
|
10
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
11
|
+
*/
|
12
|
+
|
13
|
+
#include "rb_gsl_sf.h"
|
14
|
+
|
15
|
+
static VALUE rb_gsl_sf_erf(VALUE obj, VALUE x)
|
16
|
+
{
|
17
|
+
return rb_gsl_sf_eval1(gsl_sf_erf, x);
|
18
|
+
}
|
19
|
+
|
20
|
+
static VALUE rb_gsl_sf_erf_e(VALUE obj, VALUE x)
|
21
|
+
{
|
22
|
+
return rb_gsl_sf_eval_e(gsl_sf_erf_e, x);
|
23
|
+
}
|
24
|
+
|
25
|
+
static VALUE rb_gsl_sf_erfc(VALUE obj, VALUE x)
|
26
|
+
{
|
27
|
+
return rb_gsl_sf_eval1(gsl_sf_erfc, x);
|
28
|
+
}
|
29
|
+
|
30
|
+
static VALUE rb_gsl_sf_erfc_e(VALUE obj, VALUE x)
|
31
|
+
{
|
32
|
+
return rb_gsl_sf_eval_e(gsl_sf_erfc_e, x);
|
33
|
+
}
|
34
|
+
|
35
|
+
static VALUE rb_gsl_sf_log_erfc(VALUE obj, VALUE x)
|
36
|
+
{
|
37
|
+
return rb_gsl_sf_eval1(gsl_sf_log_erfc, x);
|
38
|
+
}
|
39
|
+
|
40
|
+
static VALUE rb_gsl_sf_log_erfc_e(VALUE obj, VALUE x)
|
41
|
+
{
|
42
|
+
return rb_gsl_sf_eval_e(gsl_sf_log_erfc_e, x);
|
43
|
+
}
|
44
|
+
|
45
|
+
static VALUE rb_gsl_sf_erf_Z(VALUE obj, VALUE x)
|
46
|
+
{
|
47
|
+
return rb_gsl_sf_eval1(gsl_sf_erf_Z, x);
|
48
|
+
}
|
49
|
+
|
50
|
+
static VALUE rb_gsl_sf_erf_Z_e(VALUE obj, VALUE x)
|
51
|
+
{
|
52
|
+
return rb_gsl_sf_eval_e(gsl_sf_erf_Z_e, x);
|
53
|
+
}
|
54
|
+
|
55
|
+
static VALUE rb_gsl_sf_erf_Q(VALUE obj, VALUE x)
|
56
|
+
{
|
57
|
+
return rb_gsl_sf_eval1(gsl_sf_erf_Q, x);
|
58
|
+
}
|
59
|
+
|
60
|
+
static VALUE rb_gsl_sf_erf_Q_e(VALUE obj, VALUE x)
|
61
|
+
{
|
62
|
+
return rb_gsl_sf_eval_e(gsl_sf_erf_Q_e, x);
|
63
|
+
}
|
64
|
+
|
65
|
+
#ifdef GSL_1_4_LATER
|
66
|
+
static VALUE rb_gsl_sf_hazard(VALUE obj, VALUE x)
|
67
|
+
{
|
68
|
+
return rb_gsl_sf_eval1(gsl_sf_hazard, x);
|
69
|
+
}
|
70
|
+
|
71
|
+
static VALUE rb_gsl_sf_hazard_e(VALUE obj, VALUE x)
|
72
|
+
{
|
73
|
+
return rb_gsl_sf_eval_e(gsl_sf_hazard_e, x);
|
74
|
+
}
|
75
|
+
#endif
|
76
|
+
|
77
|
+
void Init_gsl_sf_erfc(VALUE module)
|
78
|
+
{
|
79
|
+
rb_define_module_function(module, "erf", rb_gsl_sf_erf, 1);
|
80
|
+
rb_define_module_function(module, "erf_e", rb_gsl_sf_erf_e, 1);
|
81
|
+
rb_define_module_function(module, "erfc", rb_gsl_sf_erfc, 1);
|
82
|
+
rb_define_module_function(module, "erfc_e", rb_gsl_sf_erfc_e, 1);
|
83
|
+
rb_define_module_function(module, "log_erfc", rb_gsl_sf_log_erfc, 1);
|
84
|
+
rb_define_module_function(module, "log_erfc_e", rb_gsl_sf_log_erfc_e, 1);
|
85
|
+
rb_define_module_function(module, "erf_Z", rb_gsl_sf_erf_Z, 1);
|
86
|
+
rb_define_module_function(module, "erf_Z_e", rb_gsl_sf_erf_Z_e, 1);
|
87
|
+
rb_define_module_function(module, "erf_Q", rb_gsl_sf_erf_Q, 1);
|
88
|
+
rb_define_module_function(module, "erf_Q_e", rb_gsl_sf_erf_Q_e, 1);
|
89
|
+
#ifdef GSL_1_4_LATER
|
90
|
+
rb_define_module_function(module, "hazard", rb_gsl_sf_hazard, 1);
|
91
|
+
rb_define_module_function(module, "hazard_e", rb_gsl_sf_hazard_e, 1);
|
92
|
+
#endif
|
93
|
+
}
|
data/ext/sf_exp.c
ADDED
@@ -0,0 +1,169 @@
|
|
1
|
+
/*
|
2
|
+
sf_exp.c
|
3
|
+
Ruby/GSL: Ruby extension library for GSL (GNU Scientific Library)
|
4
|
+
(C) Copyright 2001-2006 by Yoshiki Tsunesada
|
5
|
+
|
6
|
+
Ruby/GSL is free software: you can redistribute it and/or modify it
|
7
|
+
under the terms of the GNU General Public License.
|
8
|
+
This library is distributed in the hope that it will be useful, but
|
9
|
+
WITHOUT ANY WARRANTY; without even the implied warranty of
|
10
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
11
|
+
*/
|
12
|
+
|
13
|
+
#include "rb_gsl_sf.h"
|
14
|
+
|
15
|
+
static VALUE rb_gsl_sf_exp(VALUE obj, VALUE x)
|
16
|
+
{
|
17
|
+
if (COMPLEX_P(x) || VECTOR_COMPLEX_P(x) || MATRIX_COMPLEX_P(x)) {
|
18
|
+
return rb_gsl_math_complex_eval(gsl_complex_exp, x);
|
19
|
+
} else {
|
20
|
+
return rb_gsl_sf_eval1(gsl_sf_exp, x);
|
21
|
+
}
|
22
|
+
}
|
23
|
+
|
24
|
+
static VALUE rb_gsl_sf_exp_e(VALUE obj, VALUE x)
|
25
|
+
{
|
26
|
+
return rb_gsl_sf_eval_e(gsl_sf_exp_e, x);
|
27
|
+
}
|
28
|
+
|
29
|
+
static VALUE rb_gsl_sf_exp_e10_e(VALUE obj, VALUE x)
|
30
|
+
{
|
31
|
+
gsl_sf_result_e10 *rslt = NULL;
|
32
|
+
VALUE v;
|
33
|
+
// local variable "status" declared and set, but never used
|
34
|
+
//int status;
|
35
|
+
Need_Float(x);
|
36
|
+
v = Data_Make_Struct(cgsl_sf_result_e10, gsl_sf_result_e10, 0, free, rslt);
|
37
|
+
/*status =*/ gsl_sf_exp_e10_e(NUM2DBL(x), rslt);
|
38
|
+
return v;
|
39
|
+
}
|
40
|
+
|
41
|
+
static VALUE rb_gsl_sf_exp_mult(VALUE obj, VALUE x, VALUE y)
|
42
|
+
{
|
43
|
+
Need_Float(x); Need_Float(y);
|
44
|
+
return rb_float_new(gsl_sf_exp_mult(NUM2DBL(x), NUM2DBL(y)));
|
45
|
+
}
|
46
|
+
|
47
|
+
static VALUE rb_gsl_sf_exp_mult_e(VALUE obj, VALUE x, VALUE y)
|
48
|
+
{
|
49
|
+
return rb_gsl_sf_eval_e_double2(gsl_sf_exp_mult_e, x, y);
|
50
|
+
}
|
51
|
+
|
52
|
+
static VALUE rb_gsl_sf_exp_mult_e10_e(VALUE obj, VALUE x, VALUE y)
|
53
|
+
{
|
54
|
+
gsl_sf_result_e10 *rslt = NULL;
|
55
|
+
VALUE v;
|
56
|
+
// local variable "status" declared and set, but never used
|
57
|
+
//int status;
|
58
|
+
Need_Float(x); Need_Float(y);
|
59
|
+
v = Data_Make_Struct(cgsl_sf_result_e10, gsl_sf_result_e10, 0, free, rslt);
|
60
|
+
/*status =*/ gsl_sf_exp_mult_e10_e(NUM2DBL(x), NUM2DBL(y), rslt);
|
61
|
+
return v;
|
62
|
+
}
|
63
|
+
|
64
|
+
static VALUE rb_gsl_sf_expm1(VALUE obj, VALUE x)
|
65
|
+
{
|
66
|
+
return rb_gsl_sf_eval1(gsl_sf_expm1, x);
|
67
|
+
}
|
68
|
+
|
69
|
+
static VALUE rb_gsl_sf_expm1_e(VALUE obj, VALUE x)
|
70
|
+
{
|
71
|
+
return rb_gsl_sf_eval_e(gsl_sf_expm1_e, x);
|
72
|
+
}
|
73
|
+
|
74
|
+
static VALUE rb_gsl_sf_exprel(VALUE obj, VALUE x)
|
75
|
+
{
|
76
|
+
return rb_gsl_sf_eval1(gsl_sf_exprel, x);
|
77
|
+
}
|
78
|
+
|
79
|
+
static VALUE rb_gsl_sf_exprel_e(VALUE obj, VALUE x)
|
80
|
+
{
|
81
|
+
return rb_gsl_sf_eval_e(gsl_sf_exprel_e, x);
|
82
|
+
}
|
83
|
+
|
84
|
+
static VALUE rb_gsl_sf_exprel_2(VALUE obj, VALUE x)
|
85
|
+
{
|
86
|
+
return rb_gsl_sf_eval1(gsl_sf_exprel_2, x);
|
87
|
+
}
|
88
|
+
|
89
|
+
static VALUE rb_gsl_sf_exprel_2_e(VALUE obj, VALUE x)
|
90
|
+
{
|
91
|
+
return rb_gsl_sf_eval_e(gsl_sf_exprel_2_e, x);
|
92
|
+
}
|
93
|
+
|
94
|
+
static VALUE rb_gsl_sf_exprel_n(VALUE obj, VALUE n, VALUE x)
|
95
|
+
{
|
96
|
+
return rb_gsl_sf_eval_int_double(gsl_sf_exprel_n, n, x);
|
97
|
+
}
|
98
|
+
|
99
|
+
static VALUE rb_gsl_sf_exprel_n_e(VALUE obj, VALUE n, VALUE x)
|
100
|
+
{
|
101
|
+
return rb_gsl_sf_eval_e_int_double(gsl_sf_exprel_n_e, n, x);
|
102
|
+
}
|
103
|
+
|
104
|
+
static VALUE rb_gsl_sf_exp_err_e(VALUE obj, VALUE x, VALUE dx)
|
105
|
+
{
|
106
|
+
return rb_gsl_sf_eval_e_double2(gsl_sf_exp_err_e, x, dx);
|
107
|
+
}
|
108
|
+
|
109
|
+
static VALUE rb_gsl_sf_exp_err_e10_e(VALUE obj, VALUE x, VALUE dx)
|
110
|
+
{
|
111
|
+
gsl_sf_result_e10 *rslt = NULL;
|
112
|
+
VALUE v;
|
113
|
+
// local variable "status" declared and set, but never used
|
114
|
+
//int status;
|
115
|
+
Need_Float(x); Need_Float(dx);
|
116
|
+
v = Data_Make_Struct(cgsl_sf_result_e10, gsl_sf_result_e10, 0, free, rslt);
|
117
|
+
/*status =*/ gsl_sf_exp_err_e10_e(NUM2DBL(x), NUM2DBL(dx), rslt);
|
118
|
+
return v;
|
119
|
+
}
|
120
|
+
|
121
|
+
static VALUE rb_gsl_sf_exp_mult_err_e(VALUE obj, VALUE x, VALUE dx,
|
122
|
+
VALUE y, VALUE dy)
|
123
|
+
{
|
124
|
+
gsl_sf_result *rslt = NULL;
|
125
|
+
VALUE v;
|
126
|
+
// local variable "status" declared and set, but never used
|
127
|
+
//int status;
|
128
|
+
Need_Float(x); Need_Float(y);
|
129
|
+
Need_Float(dx); Need_Float(dy);
|
130
|
+
v = Data_Make_Struct(cgsl_sf_result, gsl_sf_result, 0, free, rslt);
|
131
|
+
/*status =*/ gsl_sf_exp_mult_err_e(NUM2DBL(x), NUM2DBL(dx), NUM2DBL(y), NUM2DBL(dy), rslt);
|
132
|
+
return v;
|
133
|
+
}
|
134
|
+
|
135
|
+
static VALUE rb_gsl_sf_exp_mult_err_e10_e(VALUE obj, VALUE x, VALUE dx,
|
136
|
+
VALUE y, VALUE dy)
|
137
|
+
{
|
138
|
+
gsl_sf_result_e10 *rslt = NULL;
|
139
|
+
VALUE v;
|
140
|
+
// local variable "status" declared and set, but never used
|
141
|
+
//int status;
|
142
|
+
Need_Float(x); Need_Float(y);
|
143
|
+
Need_Float(dx); Need_Float(dy);
|
144
|
+
v = Data_Make_Struct(cgsl_sf_result_e10, gsl_sf_result_e10, 0, free, rslt);
|
145
|
+
/*status =*/ gsl_sf_exp_mult_err_e10_e(NUM2DBL(x), NUM2DBL(dx), NUM2DBL(y), NUM2DBL(dy), rslt);
|
146
|
+
return v;
|
147
|
+
}
|
148
|
+
|
149
|
+
void Init_gsl_sf_exp(VALUE module)
|
150
|
+
{
|
151
|
+
rb_define_module_function(module, "exp", rb_gsl_sf_exp, 1);
|
152
|
+
rb_define_module_function(module, "exp_e", rb_gsl_sf_exp_e, 1);
|
153
|
+
rb_define_module_function(module, "exp_e10_e", rb_gsl_sf_exp_e10_e, 1);
|
154
|
+
rb_define_module_function(module, "exp_mult", rb_gsl_sf_exp_mult, 2);
|
155
|
+
rb_define_module_function(module, "exp_mult_e", rb_gsl_sf_exp_mult_e, 2);
|
156
|
+
rb_define_module_function(module, "exp_mult_e10_e", rb_gsl_sf_exp_mult_e10_e, 2);
|
157
|
+
rb_define_module_function(module, "expm1", rb_gsl_sf_expm1, 1);
|
158
|
+
rb_define_module_function(module, "expm1_e", rb_gsl_sf_expm1_e, 1);
|
159
|
+
rb_define_module_function(module, "exprel", rb_gsl_sf_exprel, 1);
|
160
|
+
rb_define_module_function(module, "exprel_e", rb_gsl_sf_exprel_e, 1);
|
161
|
+
rb_define_module_function(module, "exprel_2", rb_gsl_sf_exprel_2, 1);
|
162
|
+
rb_define_module_function(module, "exprel_2_e", rb_gsl_sf_exprel_2_e, 1);
|
163
|
+
rb_define_module_function(module, "exprel_n", rb_gsl_sf_exprel_n, 2);
|
164
|
+
rb_define_module_function(module, "exprel_n_e", rb_gsl_sf_exprel_n_e, 2);
|
165
|
+
rb_define_module_function(module, "exp_err_e", rb_gsl_sf_exp_err_e, 2);
|
166
|
+
rb_define_module_function(module, "exp_err_e10_e", rb_gsl_sf_exp_err_e10_e, 2);
|
167
|
+
rb_define_module_function(module, "exp_mult_err_e", rb_gsl_sf_exp_mult_err_e, 4);
|
168
|
+
rb_define_module_function(module, "exp_mult_err_e10_e", rb_gsl_sf_exp_mult_err_e10_e, 4);
|
169
|
+
}
|