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.
Files changed (660) hide show
  1. checksums.yaml +7 -0
  2. data/AUTHORS +6 -0
  3. data/COPYING +339 -0
  4. data/ChangeLog +567 -0
  5. data/README +32 -0
  6. data/Rakefile +99 -0
  7. data/THANKS +17 -0
  8. data/VERSION +1 -0
  9. data/examples/alf/alf.gp +15 -0
  10. data/examples/alf/alf.rb +32 -0
  11. data/examples/blas/blas.rb +13 -0
  12. data/examples/blas/dnrm2.rb +16 -0
  13. data/examples/blas/level1.rb +81 -0
  14. data/examples/blas/level2.rb +11 -0
  15. data/examples/blas/level3.rb +12 -0
  16. data/examples/bspline.rb +57 -0
  17. data/examples/cdf.rb +16 -0
  18. data/examples/cheb.rb +21 -0
  19. data/examples/combination.rb +23 -0
  20. data/examples/complex/RC-lpf.rb +47 -0
  21. data/examples/complex/add.rb +36 -0
  22. data/examples/complex/coerce.rb +14 -0
  23. data/examples/complex/complex.rb +25 -0
  24. data/examples/complex/fpmi.rb +70 -0
  25. data/examples/complex/functions.rb +77 -0
  26. data/examples/complex/michelson.rb +36 -0
  27. data/examples/complex/mul.rb +28 -0
  28. data/examples/complex/oscillator.rb +17 -0
  29. data/examples/complex/set.rb +37 -0
  30. data/examples/const/physconst.rb +151 -0
  31. data/examples/const/travel.rb +45 -0
  32. data/examples/deriv/demo.rb +13 -0
  33. data/examples/deriv/deriv.rb +36 -0
  34. data/examples/deriv/diff.rb +35 -0
  35. data/examples/dht.rb +42 -0
  36. data/examples/dirac.rb +56 -0
  37. data/examples/eigen/eigen.rb +34 -0
  38. data/examples/eigen/herm.rb +22 -0
  39. data/examples/eigen/narray.rb +9 -0
  40. data/examples/eigen/nonsymm.rb +37 -0
  41. data/examples/eigen/nonsymmv.rb +43 -0
  42. data/examples/eigen/qhoscillator.gp +35 -0
  43. data/examples/eigen/qhoscillator.rb +90 -0
  44. data/examples/eigen/vander.rb +41 -0
  45. data/examples/fft/fft.rb +17 -0
  46. data/examples/fft/fft2.rb +17 -0
  47. data/examples/fft/forward.rb +25 -0
  48. data/examples/fft/forward2.rb +26 -0
  49. data/examples/fft/radix2.rb +18 -0
  50. data/examples/fft/real-halfcomplex.rb +33 -0
  51. data/examples/fft/real-halfcomplex2.rb +30 -0
  52. data/examples/fft/realradix2.rb +19 -0
  53. data/examples/fft/sunspot.dat +256 -0
  54. data/examples/fft/sunspot.rb +16 -0
  55. data/examples/fit/expdata.dat +20 -0
  56. data/examples/fit/expfit.rb +31 -0
  57. data/examples/fit/gaussfit.rb +29 -0
  58. data/examples/fit/gaussian_2peaks.rb +34 -0
  59. data/examples/fit/hillfit.rb +40 -0
  60. data/examples/fit/lognormal.rb +26 -0
  61. data/examples/fit/lorentzfit.rb +22 -0
  62. data/examples/fit/multifit.rb +72 -0
  63. data/examples/fit/ndlinear.rb +133 -0
  64. data/examples/fit/nonlinearfit.rb +89 -0
  65. data/examples/fit/plot.gp +36 -0
  66. data/examples/fit/polyfit.rb +9 -0
  67. data/examples/fit/powerfit.rb +21 -0
  68. data/examples/fit/sigmoidfit.rb +40 -0
  69. data/examples/fit/sinfit.rb +22 -0
  70. data/examples/fit/wlinear.rb +46 -0
  71. data/examples/fresnel.rb +11 -0
  72. data/examples/function/function.rb +36 -0
  73. data/examples/function/log.rb +7 -0
  74. data/examples/function/min.rb +33 -0
  75. data/examples/function/sin.rb +10 -0
  76. data/examples/function/synchrotron.rb +18 -0
  77. data/examples/gallery/butterfly.rb +7 -0
  78. data/examples/gallery/cayley.rb +12 -0
  79. data/examples/gallery/cornu.rb +23 -0
  80. data/examples/gallery/eight.rb +11 -0
  81. data/examples/gallery/koch.rb +40 -0
  82. data/examples/gallery/lemniscate.rb +11 -0
  83. data/examples/gallery/polar.rb +11 -0
  84. data/examples/gallery/rgplot/cossin.rb +35 -0
  85. data/examples/gallery/rgplot/rgplot.replaced +0 -0
  86. data/examples/gallery/rgplot/roesller.rb +55 -0
  87. data/examples/gallery/roesller.rb +39 -0
  88. data/examples/gallery/scarabaeus.rb +14 -0
  89. data/examples/histogram/cauchy.rb +27 -0
  90. data/examples/histogram/cauchy.sh +2 -0
  91. data/examples/histogram/exponential.rb +19 -0
  92. data/examples/histogram/gauss.rb +16 -0
  93. data/examples/histogram/gsl-histogram.rb +40 -0
  94. data/examples/histogram/histo2d.rb +31 -0
  95. data/examples/histogram/histo3d.rb +34 -0
  96. data/examples/histogram/histogram-pdf.rb +27 -0
  97. data/examples/histogram/histogram.rb +26 -0
  98. data/examples/histogram/integral.rb +28 -0
  99. data/examples/histogram/poisson.rb +27 -0
  100. data/examples/histogram/power.rb +25 -0
  101. data/examples/histogram/rebin.rb +17 -0
  102. data/examples/histogram/smp.dat +5 -0
  103. data/examples/histogram/xexp.rb +21 -0
  104. data/examples/integration/ahmed.rb +21 -0
  105. data/examples/integration/cosmology.rb +75 -0
  106. data/examples/integration/friedmann.gp +16 -0
  107. data/examples/integration/friedmann.rb +35 -0
  108. data/examples/integration/gamma-zeta.rb +35 -0
  109. data/examples/integration/integration.rb +22 -0
  110. data/examples/integration/qag.rb +8 -0
  111. data/examples/integration/qag2.rb +14 -0
  112. data/examples/integration/qag3.rb +8 -0
  113. data/examples/integration/qagi.rb +28 -0
  114. data/examples/integration/qagi2.rb +49 -0
  115. data/examples/integration/qagiu.rb +29 -0
  116. data/examples/integration/qagp.rb +20 -0
  117. data/examples/integration/qags.rb +14 -0
  118. data/examples/integration/qawc.rb +18 -0
  119. data/examples/integration/qawf.rb +41 -0
  120. data/examples/integration/qawo.rb +29 -0
  121. data/examples/integration/qaws.rb +30 -0
  122. data/examples/integration/qng.rb +17 -0
  123. data/examples/interp/demo.gp +20 -0
  124. data/examples/interp/demo.rb +45 -0
  125. data/examples/interp/interp.rb +37 -0
  126. data/examples/interp/points +10 -0
  127. data/examples/interp/spline.rb +20 -0
  128. data/examples/jacobi/deriv.rb +40 -0
  129. data/examples/jacobi/integrate.rb +34 -0
  130. data/examples/jacobi/interp.rb +43 -0
  131. data/examples/jacobi/jacobi.rb +11 -0
  132. data/examples/linalg/HH.rb +15 -0
  133. data/examples/linalg/HH_narray.rb +13 -0
  134. data/examples/linalg/LQ_solve.rb +73 -0
  135. data/examples/linalg/LU.rb +84 -0
  136. data/examples/linalg/LU2.rb +31 -0
  137. data/examples/linalg/LU_narray.rb +24 -0
  138. data/examples/linalg/PTLQ.rb +47 -0
  139. data/examples/linalg/QR.rb +18 -0
  140. data/examples/linalg/QRPT.rb +47 -0
  141. data/examples/linalg/QR_solve.rb +78 -0
  142. data/examples/linalg/QR_solve_narray.rb +13 -0
  143. data/examples/linalg/SV.rb +16 -0
  144. data/examples/linalg/SV_narray.rb +12 -0
  145. data/examples/linalg/SV_solve.rb +49 -0
  146. data/examples/linalg/chol.rb +29 -0
  147. data/examples/linalg/chol_narray.rb +15 -0
  148. data/examples/linalg/complex.rb +57 -0
  149. data/examples/linalg/invert_narray.rb +10 -0
  150. data/examples/math/const.rb +67 -0
  151. data/examples/math/elementary.rb +35 -0
  152. data/examples/math/functions.rb +41 -0
  153. data/examples/math/inf_nan.rb +34 -0
  154. data/examples/math/minmax.rb +22 -0
  155. data/examples/math/power.rb +18 -0
  156. data/examples/math/test.rb +31 -0
  157. data/examples/matrix/a.dat +0 -0
  158. data/examples/matrix/add.rb +45 -0
  159. data/examples/matrix/b.dat +4 -0
  160. data/examples/matrix/cat.rb +31 -0
  161. data/examples/matrix/colvectors.rb +24 -0
  162. data/examples/matrix/complex.rb +41 -0
  163. data/examples/matrix/det.rb +29 -0
  164. data/examples/matrix/diagonal.rb +23 -0
  165. data/examples/matrix/get_all.rb +159 -0
  166. data/examples/matrix/hilbert.rb +31 -0
  167. data/examples/matrix/iterator.rb +19 -0
  168. data/examples/matrix/matrix.rb +57 -0
  169. data/examples/matrix/minmax.rb +53 -0
  170. data/examples/matrix/mul.rb +39 -0
  171. data/examples/matrix/rand.rb +20 -0
  172. data/examples/matrix/read.rb +29 -0
  173. data/examples/matrix/rowcol.rb +47 -0
  174. data/examples/matrix/set.rb +41 -0
  175. data/examples/matrix/set_all.rb +100 -0
  176. data/examples/matrix/view.rb +32 -0
  177. data/examples/matrix/view_all.rb +148 -0
  178. data/examples/matrix/write.rb +23 -0
  179. data/examples/min.rb +29 -0
  180. data/examples/monte/miser.rb +47 -0
  181. data/examples/monte/monte.rb +47 -0
  182. data/examples/monte/plain.rb +47 -0
  183. data/examples/monte/vegas.rb +46 -0
  184. data/examples/multimin/bundle.rb +66 -0
  185. data/examples/multimin/cqp.rb +109 -0
  186. data/examples/multimin/fdfminimizer.rb +40 -0
  187. data/examples/multimin/fminimizer.rb +41 -0
  188. data/examples/multiroot/demo.rb +36 -0
  189. data/examples/multiroot/fdfsolver.rb +50 -0
  190. data/examples/multiroot/fsolver.rb +33 -0
  191. data/examples/multiroot/fsolver2.rb +32 -0
  192. data/examples/multiroot/fsolver3.rb +26 -0
  193. data/examples/narray/histogram.rb +14 -0
  194. data/examples/narray/mandel.rb +27 -0
  195. data/examples/narray/narray.rb +28 -0
  196. data/examples/narray/narray2.rb +44 -0
  197. data/examples/narray/sf.rb +26 -0
  198. data/examples/ntuple/create.rb +17 -0
  199. data/examples/ntuple/project.rb +31 -0
  200. data/examples/odeiv/binarysystem.gp +23 -0
  201. data/examples/odeiv/binarysystem.rb +104 -0
  202. data/examples/odeiv/demo.gp +24 -0
  203. data/examples/odeiv/demo.rb +69 -0
  204. data/examples/odeiv/demo2.gp +26 -0
  205. data/examples/odeiv/duffing.rb +45 -0
  206. data/examples/odeiv/frei1.rb +109 -0
  207. data/examples/odeiv/frei2.rb +76 -0
  208. data/examples/odeiv/legendre.rb +52 -0
  209. data/examples/odeiv/odeiv.rb +32 -0
  210. data/examples/odeiv/odeiv2.rb +45 -0
  211. data/examples/odeiv/oscillator.rb +42 -0
  212. data/examples/odeiv/sedov.rb +97 -0
  213. data/examples/odeiv/whitedwarf.gp +40 -0
  214. data/examples/odeiv/whitedwarf.rb +158 -0
  215. data/examples/ool/conmin.rb +100 -0
  216. data/examples/ool/gencan.rb +99 -0
  217. data/examples/ool/pgrad.rb +100 -0
  218. data/examples/ool/spg.rb +100 -0
  219. data/examples/pdf/bernoulli.rb +5 -0
  220. data/examples/pdf/beta.rb +7 -0
  221. data/examples/pdf/binomiral.rb +10 -0
  222. data/examples/pdf/cauchy.rb +6 -0
  223. data/examples/pdf/chisq.rb +8 -0
  224. data/examples/pdf/exponential.rb +7 -0
  225. data/examples/pdf/exppow.rb +6 -0
  226. data/examples/pdf/fdist.rb +7 -0
  227. data/examples/pdf/flat.rb +7 -0
  228. data/examples/pdf/gamma.rb +8 -0
  229. data/examples/pdf/gauss-tail.rb +5 -0
  230. data/examples/pdf/gauss.rb +6 -0
  231. data/examples/pdf/geometric.rb +5 -0
  232. data/examples/pdf/gumbel.rb +6 -0
  233. data/examples/pdf/hypergeometric.rb +11 -0
  234. data/examples/pdf/landau.rb +5 -0
  235. data/examples/pdf/laplace.rb +7 -0
  236. data/examples/pdf/logarithmic.rb +5 -0
  237. data/examples/pdf/logistic.rb +6 -0
  238. data/examples/pdf/lognormal.rb +6 -0
  239. data/examples/pdf/neg-binomiral.rb +10 -0
  240. data/examples/pdf/pareto.rb +7 -0
  241. data/examples/pdf/pascal.rb +10 -0
  242. data/examples/pdf/poisson.rb +5 -0
  243. data/examples/pdf/rayleigh-tail.rb +6 -0
  244. data/examples/pdf/rayleigh.rb +6 -0
  245. data/examples/pdf/tdist.rb +6 -0
  246. data/examples/pdf/weibull.rb +8 -0
  247. data/examples/permutation/ex1.rb +22 -0
  248. data/examples/permutation/permutation.rb +16 -0
  249. data/examples/poly/bell.rb +6 -0
  250. data/examples/poly/bessel.rb +6 -0
  251. data/examples/poly/cheb.rb +6 -0
  252. data/examples/poly/cheb_II.rb +6 -0
  253. data/examples/poly/cubic.rb +9 -0
  254. data/examples/poly/demo.rb +20 -0
  255. data/examples/poly/eval.rb +28 -0
  256. data/examples/poly/eval_derivs.rb +14 -0
  257. data/examples/poly/fit.rb +21 -0
  258. data/examples/poly/hermite.rb +6 -0
  259. data/examples/poly/poly.rb +13 -0
  260. data/examples/poly/quadratic.rb +25 -0
  261. data/examples/random/diffusion.rb +34 -0
  262. data/examples/random/gaussian.rb +9 -0
  263. data/examples/random/generator.rb +27 -0
  264. data/examples/random/hdsobol.rb +21 -0
  265. data/examples/random/poisson.rb +9 -0
  266. data/examples/random/qrng.rb +19 -0
  267. data/examples/random/randomwalk.rb +37 -0
  268. data/examples/random/randomwalk2d.rb +19 -0
  269. data/examples/random/rayleigh.rb +36 -0
  270. data/examples/random/rng.rb +33 -0
  271. data/examples/random/rngextra.rb +14 -0
  272. data/examples/roots/bisection.rb +25 -0
  273. data/examples/roots/brent.rb +43 -0
  274. data/examples/roots/demo.rb +30 -0
  275. data/examples/roots/newton.rb +46 -0
  276. data/examples/roots/recombination.gp +12 -0
  277. data/examples/roots/recombination.rb +61 -0
  278. data/examples/roots/steffenson.rb +48 -0
  279. data/examples/sf/ShiChi.rb +6 -0
  280. data/examples/sf/SiCi.rb +6 -0
  281. data/examples/sf/airy_Ai.rb +8 -0
  282. data/examples/sf/airy_Bi.rb +8 -0
  283. data/examples/sf/bessel_IK.rb +12 -0
  284. data/examples/sf/bessel_JY.rb +13 -0
  285. data/examples/sf/beta_inc.rb +9 -0
  286. data/examples/sf/clausen.rb +6 -0
  287. data/examples/sf/dawson.rb +5 -0
  288. data/examples/sf/debye.rb +9 -0
  289. data/examples/sf/dilog.rb +6 -0
  290. data/examples/sf/ellint.rb +6 -0
  291. data/examples/sf/expint.rb +8 -0
  292. data/examples/sf/fermi.rb +10 -0
  293. data/examples/sf/gamma_inc_P.rb +9 -0
  294. data/examples/sf/gegenbauer.rb +8 -0
  295. data/examples/sf/hyperg.rb +7 -0
  296. data/examples/sf/laguerre.rb +19 -0
  297. data/examples/sf/lambertW.rb +5 -0
  298. data/examples/sf/legendre_P.rb +10 -0
  299. data/examples/sf/lngamma.rb +5 -0
  300. data/examples/sf/psi.rb +54 -0
  301. data/examples/sf/sphbessel.gp +27 -0
  302. data/examples/sf/sphbessel.rb +30 -0
  303. data/examples/sf/synchrotron.rb +5 -0
  304. data/examples/sf/transport.rb +10 -0
  305. data/examples/sf/zetam1.rb +5 -0
  306. data/examples/siman.rb +44 -0
  307. data/examples/sort/heapsort.rb +23 -0
  308. data/examples/sort/heapsort_vector_complex.rb +21 -0
  309. data/examples/sort/sort.rb +23 -0
  310. data/examples/sort/sort2.rb +16 -0
  311. data/examples/stats/mean.rb +17 -0
  312. data/examples/stats/statistics.rb +18 -0
  313. data/examples/stats/test.rb +9 -0
  314. data/examples/sum.rb +34 -0
  315. data/examples/tamu_anova.rb +18 -0
  316. data/examples/vector/a.dat +0 -0
  317. data/examples/vector/add.rb +56 -0
  318. data/examples/vector/b.dat +4 -0
  319. data/examples/vector/c.dat +3 -0
  320. data/examples/vector/collect.rb +26 -0
  321. data/examples/vector/compare.rb +28 -0
  322. data/examples/vector/complex.rb +51 -0
  323. data/examples/vector/complex_get_all.rb +85 -0
  324. data/examples/vector/complex_set_all.rb +131 -0
  325. data/examples/vector/complex_view_all.rb +77 -0
  326. data/examples/vector/connect.rb +22 -0
  327. data/examples/vector/decimate.rb +38 -0
  328. data/examples/vector/diff.rb +31 -0
  329. data/examples/vector/filescan.rb +17 -0
  330. data/examples/vector/floor.rb +23 -0
  331. data/examples/vector/get_all.rb +82 -0
  332. data/examples/vector/gnuplot.rb +38 -0
  333. data/examples/vector/graph.rb +28 -0
  334. data/examples/vector/histogram.rb +22 -0
  335. data/examples/vector/linspace.rb +24 -0
  336. data/examples/vector/log.rb +17 -0
  337. data/examples/vector/logic.rb +33 -0
  338. data/examples/vector/logspace.rb +25 -0
  339. data/examples/vector/minmax.rb +47 -0
  340. data/examples/vector/mul.rb +49 -0
  341. data/examples/vector/narray.rb +46 -0
  342. data/examples/vector/read.rb +29 -0
  343. data/examples/vector/set.rb +35 -0
  344. data/examples/vector/set_all.rb +121 -0
  345. data/examples/vector/smpv.dat +15 -0
  346. data/examples/vector/test.rb +43 -0
  347. data/examples/vector/test_gslblock.rb +58 -0
  348. data/examples/vector/vector.rb +110 -0
  349. data/examples/vector/view.rb +35 -0
  350. data/examples/vector/view_all.rb +73 -0
  351. data/examples/vector/where.rb +29 -0
  352. data/examples/vector/write.rb +24 -0
  353. data/examples/vector/zip.rb +34 -0
  354. data/examples/wavelet/ecg.dat +256 -0
  355. data/examples/wavelet/wavelet1.rb +50 -0
  356. data/ext/alf.c +206 -0
  357. data/ext/array.c +642 -0
  358. data/ext/array_complex.c +248 -0
  359. data/ext/blas.c +29 -0
  360. data/ext/blas1.c +734 -0
  361. data/ext/blas2.c +1093 -0
  362. data/ext/blas3.c +881 -0
  363. data/ext/block.c +44 -0
  364. data/ext/block_source.c +887 -0
  365. data/ext/bspline.c +130 -0
  366. data/ext/bundle.c +3 -0
  367. data/ext/cdf.c +754 -0
  368. data/ext/cheb.c +542 -0
  369. data/ext/combination.c +283 -0
  370. data/ext/common.c +325 -0
  371. data/ext/complex.c +1004 -0
  372. data/ext/const.c +673 -0
  373. data/ext/const_additional.c +120 -0
  374. data/ext/cqp.c +283 -0
  375. data/ext/deriv.c +195 -0
  376. data/ext/dht.c +361 -0
  377. data/ext/diff.c +166 -0
  378. data/ext/dirac.c +389 -0
  379. data/ext/eigen.c +2373 -0
  380. data/ext/error.c +193 -0
  381. data/ext/extconf.rb +303 -0
  382. data/ext/fcmp.c +66 -0
  383. data/ext/fft.c +1102 -0
  384. data/ext/fit.c +205 -0
  385. data/ext/fresnel.c +312 -0
  386. data/ext/function.c +524 -0
  387. data/ext/geometry.c +139 -0
  388. data/ext/graph.c +1640 -0
  389. data/ext/gsl.c +280 -0
  390. data/ext/gsl_narray.c +804 -0
  391. data/ext/histogram.c +1991 -0
  392. data/ext/histogram2d.c +1068 -0
  393. data/ext/histogram3d.c +884 -0
  394. data/ext/histogram3d_source.c +750 -0
  395. data/ext/histogram_find.c +101 -0
  396. data/ext/histogram_oper.c +159 -0
  397. data/ext/ieee.c +100 -0
  398. data/ext/integration.c +1179 -0
  399. data/ext/interp.c +512 -0
  400. data/ext/jacobi.c +739 -0
  401. data/ext/linalg.c +4042 -0
  402. data/ext/linalg_complex.c +739 -0
  403. data/ext/math.c +725 -0
  404. data/ext/matrix.c +39 -0
  405. data/ext/matrix_complex.c +1737 -0
  406. data/ext/matrix_double.c +560 -0
  407. data/ext/matrix_int.c +256 -0
  408. data/ext/matrix_source.c +2734 -0
  409. data/ext/min.c +250 -0
  410. data/ext/monte.c +992 -0
  411. data/ext/multifit.c +1871 -0
  412. data/ext/multimin.c +806 -0
  413. data/ext/multimin_fsdf.c +156 -0
  414. data/ext/multiroots.c +955 -0
  415. data/ext/multiset.c +214 -0
  416. data/ext/ndlinear.c +321 -0
  417. data/ext/nmf.c +171 -0
  418. data/ext/nmf_wrap.c +75 -0
  419. data/ext/ntuple.c +469 -0
  420. data/ext/odeiv.c +962 -0
  421. data/ext/ool.c +879 -0
  422. data/ext/oper_complex_source.c +253 -0
  423. data/ext/permutation.c +596 -0
  424. data/ext/poly.c +42 -0
  425. data/ext/poly2.c +265 -0
  426. data/ext/poly_source.c +1915 -0
  427. data/ext/qrng.c +171 -0
  428. data/ext/randist.c +1873 -0
  429. data/ext/rational.c +480 -0
  430. data/ext/rng.c +612 -0
  431. data/ext/root.c +408 -0
  432. data/ext/sf.c +1494 -0
  433. data/ext/sf_airy.c +200 -0
  434. data/ext/sf_bessel.c +871 -0
  435. data/ext/sf_clausen.c +28 -0
  436. data/ext/sf_coulomb.c +206 -0
  437. data/ext/sf_coupling.c +121 -0
  438. data/ext/sf_dawson.c +29 -0
  439. data/ext/sf_debye.c +157 -0
  440. data/ext/sf_dilog.c +43 -0
  441. data/ext/sf_elementary.c +46 -0
  442. data/ext/sf_ellint.c +206 -0
  443. data/ext/sf_elljac.c +30 -0
  444. data/ext/sf_erfc.c +93 -0
  445. data/ext/sf_exp.c +169 -0
  446. data/ext/sf_expint.c +211 -0
  447. data/ext/sf_fermi_dirac.c +148 -0
  448. data/ext/sf_gamma.c +347 -0
  449. data/ext/sf_gegenbauer.c +97 -0
  450. data/ext/sf_hyperg.c +203 -0
  451. data/ext/sf_laguerre.c +113 -0
  452. data/ext/sf_lambert.c +47 -0
  453. data/ext/sf_legendre.c +368 -0
  454. data/ext/sf_log.c +105 -0
  455. data/ext/sf_mathieu.c +238 -0
  456. data/ext/sf_power.c +47 -0
  457. data/ext/sf_psi.c +98 -0
  458. data/ext/sf_synchrotron.c +48 -0
  459. data/ext/sf_transport.c +76 -0
  460. data/ext/sf_trigonometric.c +210 -0
  461. data/ext/sf_zeta.c +119 -0
  462. data/ext/signal.c +308 -0
  463. data/ext/siman.c +717 -0
  464. data/ext/sort.c +208 -0
  465. data/ext/spline.c +395 -0
  466. data/ext/stats.c +800 -0
  467. data/ext/sum.c +168 -0
  468. data/ext/tamu_anova.c +56 -0
  469. data/ext/tensor.c +38 -0
  470. data/ext/tensor_source.c +1123 -0
  471. data/ext/vector.c +38 -0
  472. data/ext/vector_complex.c +2246 -0
  473. data/ext/vector_double.c +1438 -0
  474. data/ext/vector_int.c +204 -0
  475. data/ext/vector_source.c +3336 -0
  476. data/ext/wavelet.c +945 -0
  477. data/include/rb_gsl.h +158 -0
  478. data/include/rb_gsl_array.h +238 -0
  479. data/include/rb_gsl_cheb.h +21 -0
  480. data/include/rb_gsl_common.h +348 -0
  481. data/include/rb_gsl_complex.h +25 -0
  482. data/include/rb_gsl_config.h +62 -0
  483. data/include/rb_gsl_const.h +29 -0
  484. data/include/rb_gsl_dirac.h +13 -0
  485. data/include/rb_gsl_eigen.h +17 -0
  486. data/include/rb_gsl_fft.h +62 -0
  487. data/include/rb_gsl_fit.h +25 -0
  488. data/include/rb_gsl_function.h +27 -0
  489. data/include/rb_gsl_graph.h +70 -0
  490. data/include/rb_gsl_histogram.h +63 -0
  491. data/include/rb_gsl_histogram3d.h +97 -0
  492. data/include/rb_gsl_integration.h +17 -0
  493. data/include/rb_gsl_interp.h +46 -0
  494. data/include/rb_gsl_linalg.h +25 -0
  495. data/include/rb_gsl_math.h +26 -0
  496. data/include/rb_gsl_odeiv.h +21 -0
  497. data/include/rb_gsl_poly.h +71 -0
  498. data/include/rb_gsl_rational.h +37 -0
  499. data/include/rb_gsl_rng.h +21 -0
  500. data/include/rb_gsl_root.h +22 -0
  501. data/include/rb_gsl_sf.h +119 -0
  502. data/include/rb_gsl_statistics.h +17 -0
  503. data/include/rb_gsl_tensor.h +45 -0
  504. data/include/rb_gsl_with_narray.h +29 -0
  505. data/include/templates_off.h +87 -0
  506. data/include/templates_on.h +241 -0
  507. data/lib/gsl.rb +3 -0
  508. data/lib/gsl/gnuplot.rb +41 -0
  509. data/lib/gsl/oper.rb +68 -0
  510. data/lib/ool.rb +22 -0
  511. data/lib/ool/conmin.rb +30 -0
  512. data/lib/rbgsl.rb +3 -0
  513. data/rdoc/alf.rdoc +77 -0
  514. data/rdoc/blas.rdoc +269 -0
  515. data/rdoc/bspline.rdoc +42 -0
  516. data/rdoc/changes.rdoc +164 -0
  517. data/rdoc/cheb.rdoc +99 -0
  518. data/rdoc/cholesky_complex.rdoc +46 -0
  519. data/rdoc/combi.rdoc +125 -0
  520. data/rdoc/complex.rdoc +210 -0
  521. data/rdoc/const.rdoc +546 -0
  522. data/rdoc/dht.rdoc +122 -0
  523. data/rdoc/diff.rdoc +133 -0
  524. data/rdoc/ehandling.rdoc +50 -0
  525. data/rdoc/eigen.rdoc +401 -0
  526. data/rdoc/fft.rdoc +535 -0
  527. data/rdoc/fit.rdoc +284 -0
  528. data/rdoc/function.rdoc +94 -0
  529. data/rdoc/graph.rdoc +137 -0
  530. data/rdoc/hist.rdoc +409 -0
  531. data/rdoc/hist2d.rdoc +279 -0
  532. data/rdoc/hist3d.rdoc +112 -0
  533. data/rdoc/index.rdoc +62 -0
  534. data/rdoc/integration.rdoc +398 -0
  535. data/rdoc/interp.rdoc +231 -0
  536. data/rdoc/intro.rdoc +27 -0
  537. data/rdoc/linalg.rdoc +681 -0
  538. data/rdoc/linalg_complex.rdoc +88 -0
  539. data/rdoc/math.rdoc +276 -0
  540. data/rdoc/matrix.rdoc +1093 -0
  541. data/rdoc/min.rdoc +189 -0
  542. data/rdoc/monte.rdoc +234 -0
  543. data/rdoc/multimin.rdoc +312 -0
  544. data/rdoc/multiroot.rdoc +293 -0
  545. data/rdoc/narray.rdoc +177 -0
  546. data/rdoc/ndlinear.rdoc +250 -0
  547. data/rdoc/nonlinearfit.rdoc +348 -0
  548. data/rdoc/ntuple.rdoc +88 -0
  549. data/rdoc/odeiv.rdoc +378 -0
  550. data/rdoc/perm.rdoc +221 -0
  551. data/rdoc/poly.rdoc +335 -0
  552. data/rdoc/qrng.rdoc +90 -0
  553. data/rdoc/randist.rdoc +233 -0
  554. data/rdoc/ref.rdoc +93 -0
  555. data/rdoc/rng.rdoc +203 -0
  556. data/rdoc/rngextra.rdoc +11 -0
  557. data/rdoc/roots.rdoc +305 -0
  558. data/rdoc/screenshot.rdoc +40 -0
  559. data/rdoc/sf.rdoc +1622 -0
  560. data/rdoc/siman.rdoc +89 -0
  561. data/rdoc/sort.rdoc +94 -0
  562. data/rdoc/start.rdoc +16 -0
  563. data/rdoc/stats.rdoc +219 -0
  564. data/rdoc/sum.rdoc +65 -0
  565. data/rdoc/tensor.rdoc +251 -0
  566. data/rdoc/tut.rdoc +5 -0
  567. data/rdoc/use.rdoc +177 -0
  568. data/rdoc/vector.rdoc +1243 -0
  569. data/rdoc/vector_complex.rdoc +347 -0
  570. data/rdoc/wavelet.rdoc +218 -0
  571. data/setup.rb +1585 -0
  572. data/tests/blas/amax.rb +14 -0
  573. data/tests/blas/asum.rb +16 -0
  574. data/tests/blas/axpy.rb +25 -0
  575. data/tests/blas/copy.rb +23 -0
  576. data/tests/blas/dot.rb +23 -0
  577. data/tests/bspline.rb +53 -0
  578. data/tests/cdf.rb +1388 -0
  579. data/tests/cheb.rb +112 -0
  580. data/tests/combination.rb +123 -0
  581. data/tests/complex.rb +17 -0
  582. data/tests/const.rb +24 -0
  583. data/tests/deriv.rb +85 -0
  584. data/tests/dht/dht1.rb +17 -0
  585. data/tests/dht/dht2.rb +23 -0
  586. data/tests/dht/dht3.rb +23 -0
  587. data/tests/dht/dht4.rb +23 -0
  588. data/tests/diff.rb +78 -0
  589. data/tests/eigen/eigen.rb +220 -0
  590. data/tests/eigen/gen.rb +105 -0
  591. data/tests/eigen/genherm.rb +66 -0
  592. data/tests/eigen/gensymm.rb +68 -0
  593. data/tests/eigen/nonsymm.rb +53 -0
  594. data/tests/eigen/nonsymmv.rb +53 -0
  595. data/tests/eigen/symm-herm.rb +74 -0
  596. data/tests/err.rb +58 -0
  597. data/tests/fit.rb +124 -0
  598. data/tests/gsl_test.rb +118 -0
  599. data/tests/gsl_test2.rb +110 -0
  600. data/tests/histo.rb +12 -0
  601. data/tests/integration/integration1.rb +72 -0
  602. data/tests/integration/integration2.rb +71 -0
  603. data/tests/integration/integration3.rb +71 -0
  604. data/tests/integration/integration4.rb +71 -0
  605. data/tests/interp.rb +45 -0
  606. data/tests/linalg/HH.rb +64 -0
  607. data/tests/linalg/LU.rb +47 -0
  608. data/tests/linalg/QR.rb +77 -0
  609. data/tests/linalg/SV.rb +24 -0
  610. data/tests/linalg/TDN.rb +116 -0
  611. data/tests/linalg/TDS.rb +122 -0
  612. data/tests/linalg/bidiag.rb +73 -0
  613. data/tests/linalg/cholesky.rb +20 -0
  614. data/tests/linalg/linalg.rb +158 -0
  615. data/tests/matrix/matrix_complex_test.rb +36 -0
  616. data/tests/matrix/matrix_nmf_test.rb +39 -0
  617. data/tests/matrix/matrix_test.rb +48 -0
  618. data/tests/min.rb +99 -0
  619. data/tests/monte/miser.rb +31 -0
  620. data/tests/monte/vegas.rb +45 -0
  621. data/tests/multifit/test_2dgauss.rb +112 -0
  622. data/tests/multifit/test_brown.rb +90 -0
  623. data/tests/multifit/test_enso.rb +246 -0
  624. data/tests/multifit/test_filip.rb +155 -0
  625. data/tests/multifit/test_gauss.rb +97 -0
  626. data/tests/multifit/test_longley.rb +110 -0
  627. data/tests/multifit/test_multifit.rb +52 -0
  628. data/tests/multimin.rb +139 -0
  629. data/tests/multiroot.rb +131 -0
  630. data/tests/multiset.rb +52 -0
  631. data/tests/narray/blas_dnrm2.rb +20 -0
  632. data/tests/odeiv.rb +353 -0
  633. data/tests/poly/poly.rb +290 -0
  634. data/tests/poly/special.rb +65 -0
  635. data/tests/qrng.rb +131 -0
  636. data/tests/quartic.rb +29 -0
  637. data/tests/randist.rb +134 -0
  638. data/tests/rng.rb +305 -0
  639. data/tests/roots.rb +76 -0
  640. data/tests/run-test.sh +17 -0
  641. data/tests/sf/gsl_test_sf.rb +249 -0
  642. data/tests/sf/test_airy.rb +83 -0
  643. data/tests/sf/test_bessel.rb +306 -0
  644. data/tests/sf/test_coulomb.rb +17 -0
  645. data/tests/sf/test_dilog.rb +25 -0
  646. data/tests/sf/test_gamma.rb +209 -0
  647. data/tests/sf/test_hyperg.rb +356 -0
  648. data/tests/sf/test_legendre.rb +227 -0
  649. data/tests/sf/test_mathieu.rb +59 -0
  650. data/tests/sf/test_mode.rb +19 -0
  651. data/tests/sf/test_sf.rb +839 -0
  652. data/tests/stats.rb +174 -0
  653. data/tests/stats_mt.rb +16 -0
  654. data/tests/sum.rb +98 -0
  655. data/tests/sys.rb +323 -0
  656. data/tests/tensor.rb +419 -0
  657. data/tests/vector/vector_complex_test.rb +101 -0
  658. data/tests/vector/vector_test.rb +141 -0
  659. data/tests/wavelet.rb +142 -0
  660. metadata +789 -0
@@ -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
+ }
@@ -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
+ }
@@ -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
+ }
@@ -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
+ }
@@ -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
+ }
@@ -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
+ }