rb-gsl 1.15.3.1

Sign up to get free protection for your applications and to get access to all the features.
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,76 @@
1
+ #!/usr/bin/env ruby
2
+ # Ruby/GSL implementation of GSL "roots/test.c"
3
+ require("gsl")
4
+ require("./gsl_test2.rb")
5
+ include GSL::Test
6
+ include Math
7
+
8
+ EPSREL = 10.0*GSL::DBL_EPSILON
9
+ EPSABS = 10.0*GSL::DBL_EPSILON
10
+ MAX_ITERATIONS = 150
11
+
12
+ def WITHIN_TOL(a, b, epsrel, epsabs)
13
+ (a - b).abs < epsrel*GSL::MIN(a.abs, b.abs) + epsabs
14
+ end
15
+
16
+ def test_f(type, desc, f, lower, upper, correct)
17
+ s = GSL::Root::FSolver.alloc(type)
18
+ s.set(f, lower, upper)
19
+ iter = 0
20
+ begin
21
+ iter += 1
22
+ s.iterate
23
+ r = s.root
24
+ a = s.x_lower
25
+ b = s.x_upper
26
+ if a > b
27
+ GSL::Test::test(GSL::FAILURE, "interval is invalid (#{a},#{b})")
28
+ end
29
+ if r < a or r > b
30
+ GSL::Test::test(GSL::FAILURE, "r lies outside interval #{r} (#{a},#{b})")
31
+ end
32
+ status = GSL::Root::test_interval(a, b, EPSABS, EPSREL)
33
+ end while status == GSL::CONTINUE and iter < MAX_ITERATIONS
34
+ GSL::Test::test(status, "#{s.name}, #{desc} (#{s.root} obs vs #{correct} expected)")
35
+ if iter == MAX_ITERATIONS
36
+ GSL::Test::test(GSL::FAILURE, "exceeded maximum number of iterations")
37
+ end
38
+ if !WITHIN_TOL(r, correct, EPSREL, EPSABS)
39
+ GSL::Test::test(GSL::FAILURE, "incorrect precision (#{r} obs vs #{correct} expected)")
40
+ end
41
+ end
42
+
43
+ def test_fdf(type, desc, fdf, root, correct)
44
+ s = GSL::Root::FdfSolver.alloc(type)
45
+ s.set(fdf, root)
46
+ iter = 0
47
+ begin
48
+ iter += 1
49
+ prev = s.root
50
+ s.iterate
51
+ status = GSL::Root::test_delta(s.root, prev, EPSABS, EPSREL)
52
+ end while status == GSL::CONTINUE and iter < MAX_ITERATIONS
53
+ GSL::Test::test(status, "#{s.name} #{desc} (#{s.root} obs vs #{correct} expected)")
54
+ if iter == MAX_ITERATIONS
55
+ GSL::Test::test(GSL::FAILURE, "exceeded maximum number of iterations")
56
+ end
57
+ if !WITHIN_TOL(s.root, correct, EPSREL, EPSABS)
58
+ GSL::Test::test(GSL::FAILURE, "incorrect precision (#{r} obs vs #{correct} expected)")
59
+ end
60
+ end
61
+
62
+ func1 = GSL::Function.alloc { |x| pow(x, 20.0) - 1 }
63
+ func1_fdf = Proc.new { |x| 20.0*pow(x, 19.0) }
64
+
65
+ fdf1 = GSL::Function_fdf.alloc(func1.f, func1_fdf)
66
+
67
+ fsolvers = ["bisection", "brent", "falsepos"]
68
+ fsolvers.each do |type|
69
+ test_f(type, "x^20 - 1 [0.1, 2]", func1, 0.1, 2.0, 1.0)
70
+ end
71
+
72
+ fdfsolvers = ["newton", "secant", "steffenson"]
73
+ fdfsolvers = ["newton", "steffenson"]
74
+ fdfsolvers.each do |type|
75
+ test_fdf(type, "x^{20} - 1 {0.9}", fdf1, 0.9, 1.0)
76
+ end
@@ -0,0 +1,17 @@
1
+ #!/bin/sh
2
+
3
+ topdir=".."
4
+ for f in `find . -name '*.rb'`; do
5
+ if test "$f" = "./sf/make_test.rb"; then continue; fi
6
+ if test "$f" = "./speed/bench.rb"; then continue; fi
7
+ if test "$f" = "./tensor.rb"; then continue; fi
8
+ pushd `dirname $f` > /dev/null
9
+ # ruby -w -I $topdir/lib -I $topdir/ext `basename $f`
10
+ ruby -w `basename $f`
11
+ result=$?
12
+ popd > /dev/null
13
+ if test "$result" != "0"; then
14
+ echo $f failed
15
+ exit $result
16
+ fi
17
+ done
@@ -0,0 +1,249 @@
1
+ #!/usr/bin/env ruby
2
+ require("gsl")
3
+ require("../gsl_test2.rb")
4
+ include GSL::Test
5
+ include Math
6
+
7
+ module GSL
8
+ module Test
9
+ module Sf
10
+ TEST_TOL0 = 2.0*GSL::DBL_EPSILON
11
+ TEST_TOL1 = 16.0*GSL::DBL_EPSILON
12
+ TEST_TOL2 = 256.0*GSL::DBL_EPSILON
13
+ TEST_TOL3 = 2048.0*GSL::DBL_EPSILON
14
+ TEST_TOL4 = 16384.0*GSL::DBL_EPSILON
15
+ TEST_TOL5 = 131072.0*GSL::DBL_EPSILON
16
+ TEST_TOL6 = 1048576.0*GSL::DBL_EPSILON
17
+ TEST_SQRT_TOL0 = 2.0*GSL::SQRT_DBL_EPSILON
18
+ TEST_SNGL = 1.0e-06
19
+
20
+ TEST_SF_INCONS = 1
21
+ TEST_SF_ERRNEG = 2
22
+ TEST_SF_TOLBAD = 4
23
+ TEST_SF_RETBAD = 8
24
+
25
+ TEST_FACTOR = 100.0
26
+ TEST_SIGMA = 1.5
27
+
28
+ def test_sf_frac_diff(x1, x2)
29
+ if x1.zero? and x2.zero?
30
+ return 0.0
31
+ elsif x1 <= DBL_MAX and x2 < DBL_MAX and (x1 + x1 != 0.0)
32
+ return ((x1 - x2)/(x1 + x2)).abs
33
+ else
34
+ return 1.0
35
+ end
36
+ end
37
+
38
+ def test_sf_check_result(mbuf, r, val, tol)
39
+ s = 0
40
+ f = 0.0
41
+ if isnan?(r.val) or isnan?(val)
42
+ s = isnan(r.val) != isnan(val) ? TEST_SF_INCONS : s
43
+ elsif isinf?(r.val) or isinf?(val)
44
+ s = isinf(r.val) != isinf(val) ? TEST_SF_INCONS : s
45
+ else
46
+ f = test_sf_frac_diff(val, r.val)
47
+ if (val - r.val).abs > 2.0*TEST_SIGMA*r.err
48
+ s |= TEST_SF_INCONS
49
+ end
50
+ if r.err < 0.0
51
+ s |= TEST_SF_ERRNEG
52
+ end
53
+ if f > TEST_FACTOR * tol
54
+ s |= TEST_SF_TOLBAD
55
+ end
56
+ end
57
+ if s != 0
58
+ message = sprintf(" expected: %20.16g\n", val)
59
+ mbuf += message
60
+ message = sprintf(" obtained: %20.16g %20.16g %g\n",
61
+ r.val, r.err, r.err/(r.val.abs + r.err))
62
+ mbuf += message
63
+ message = sprintf(" fracdiff: %20.16g\n", f)
64
+ mbuf += message
65
+ end
66
+
67
+ if s & TEST_SF_INCONS
68
+ mbuf += " value/expected not consistent within reported error\n"
69
+ end
70
+ if s & TEST_SF_ERRNEG
71
+ mbuf += " reported error negative\n"
72
+ end
73
+ if s & TEST_SF_TOLBAD
74
+ mbuf += " value not within tolerance of expected value\n"
75
+ end
76
+ return s, mbuf
77
+ end
78
+
79
+ def test_sf_check_val(mbuf, rval, val, tol)
80
+ s = 0;
81
+ f = test_sf_frac_diff(val, rval)
82
+ if f > TEST_FACTOR * tol
83
+ s |= TEST_SF_TOLBAD
84
+ end
85
+ if s != 0
86
+ buf = sprintf(" expected: %20.16g\n", val)
87
+ mbuf += buf
88
+ buf = sprintf(" obtained: %20.16g\n", rval)
89
+ mbuf += buf
90
+ buf = sprintf(" fracdiff: %20.16g\n", f)
91
+ mbuf += buf
92
+ end
93
+ if s & TEST_SF_TOLBAD
94
+ mbuf += " value not within tolerance of expected value\n"
95
+ end
96
+ return s, mbuf
97
+ end
98
+
99
+ def test_sf_check_result_relax(mbuf, r, val, tol)
100
+ s = 0;
101
+ f = test_sf_frac_diff(val, r.val)
102
+
103
+ if f > GSL_MAX_DBL(TEST_SNGL, TEST_FACTOR * tol)
104
+ s |= TEST_SF_INCONS
105
+ end
106
+ if r.err < 0.0
107
+ s |= TEST_SF_ERRNEG
108
+ end
109
+ if f > TEST_FACTOR * tol
110
+ s |= TEST_SF_TOLBAD
111
+ end
112
+ if s != 0
113
+ buf = sprintf(" expected: %20.16g\n", val)
114
+ mbuf += buf
115
+ buf = sprintf(" obtained: %20.16g %20.16g %g\n", r.val, r.err, r.err/(r.val.abs + r.err))
116
+ mbuf += buf
117
+ buf = sprintf(" fracdiff: %20.16g\n", f)
118
+ mbuf += buf
119
+ end
120
+ if s & TEST_SF_INCONS
121
+ mbuf += " value/expected not consistent MAX(tol,SINGLE_PREC)\n"
122
+ end
123
+ if s & TEST_SF_ERRNEG
124
+ mbuf += " reported error negative\n"
125
+ end
126
+ if s & TEST_SF_TOLBAD
127
+ mbuf += " value not within tolerance of expected value\n"
128
+ end
129
+ return s, mbuf
130
+ end
131
+
132
+ def test_sf_check_return(mbuf, val, expected)
133
+ if val != expected
134
+ buf = sprintf(" unexpected return code: %d\n", val)
135
+ mbuf += buf
136
+ return TEST_SF_RETBAD, mbuf
137
+ else
138
+ return 0, mbuf
139
+ end
140
+ end
141
+
142
+ def test_sf(r, val, tol, status, expect, desc)
143
+ local_s = 0
144
+ mbuf = ""
145
+ s, mbuf = test_sf_check_result(mbuf, r, val, tol)
146
+ local_s |= s
147
+ s, mbuf = test_sf_check_return(mbuf, status, expect)
148
+ local_s |= s
149
+ GSL::Test::test(local_s, desc)
150
+ if local_s != 0
151
+ print(mbuf)
152
+ printf(" %22.18g %22.18g\n", r.val, r.err)
153
+ end
154
+ return local_s
155
+ end
156
+
157
+ def test_sf_val(val, val_in, tol, desc)
158
+ local_s = 0
159
+ mbuf = ""
160
+ s, mbuf = test_sf_check_val(mbuf, val, val_in, tol)
161
+ local_s |= s
162
+ GSL::Test::test(local_s, desc)
163
+ if local_s != 0
164
+ printf("%s", mbuf)
165
+ printf(" %22.18g\n", val)
166
+ end
167
+ return local_s
168
+ end
169
+
170
+ def test_sf_rlx(r, val_in, tol, status, expect_return, desc)
171
+ local_s = 0
172
+ message_buff = ""
173
+ s, message_buff = test_sf_check_result_relax(message_buff, r, val_in, tol)
174
+ local_s |= s
175
+ s, message_buff = test_sf_check_return(message_buff, status, expect_return)
176
+ local_s |= s
177
+
178
+ GSL::Test::test(local_s, desc)
179
+ if local_s != 0
180
+ printf("%s", message_buff)
181
+ printf(" %22.18g %22.18g\n", r.val, r.err)
182
+ end
183
+ return local_s
184
+ end
185
+
186
+ def test_sf_2(r1, val1, tol1, r2, val2, tol2, status, expect_return, desc)
187
+ int local_s = 0
188
+ message_buff = ""
189
+ s, message_buff = test_sf_check_result(message_buff, r1, val1, tol1)
190
+ local_s |= s
191
+ s, message_buff = test_sf_check_result(message_buff, r2, val2, tol2)
192
+ local_s |= s
193
+ s, message_buff = test_sf_check_return(message_buff, status, expect_return)
194
+ local_s |= s
195
+
196
+ GSL::Test::test(local_s, desc)
197
+ if local_s != 0
198
+ printf("%s", message_buff)
199
+ printf(" %22.18g %22.18g\n", r1.val, r1.err)
200
+ printf(" %22.18g %22.18g\n", r2.val, r2.err)
201
+ end
202
+ return local_s
203
+ end
204
+
205
+ def test_sf_sgn(r, sgn, val_in, tol, expect_sgn, status, expect_return, desc)
206
+ local_r
207
+ local_s = 0
208
+ message_buff = ""
209
+ local_r.val = sgn
210
+ local_r.err = 0.0
211
+ s, message_buff = test_sf_check_result(message_buff, r, val_in, tol)
212
+ local_s |= s
213
+ s, message_buff = test_sf_check_result(message_buff, local_r, expect_sgn, 0.0)
214
+ local_s |= s
215
+ s, message_buff = test_sf_check_return(message_buff, status, expect_return)
216
+ local_s |= s
217
+ GSL::Test::test(local_s, desc)
218
+ if local_s != 0
219
+ printf("%s", message_buff)
220
+ printf(" %22.18g %22.18g\n", r.val, r.err)
221
+ end
222
+ return local_s
223
+ end
224
+
225
+ def TEST_SF(stat, func, args, val_in, tol, expect_return)
226
+ r, = eval("#{func}#{args}")
227
+ # p r
228
+ # p val_in
229
+ status = 0
230
+ stat += test_sf(r, val_in, tol, status, expect_return, "#{func}#{args}")
231
+ return stat
232
+ end
233
+ def TEST_SF_2(stat, func, args, val1, tol1, val2, tol2, expect_return)
234
+ r, = eval("#{func}#{args}")
235
+ status = 0
236
+ stat += test_sf_2(r1, val1, tol1, r2, val2, tol2, status,
237
+ expect_return, "#{func}#{args}")
238
+ return stat
239
+ end
240
+ def TEST_SF_SGN(stat, func, args, val_in, tol, expect_sgn, expect_return)
241
+ r, = eval("#{func}#{args}")
242
+ status = 0
243
+ stat += test_sf_sgn(r, sgn, val_in, tol, expect_sgn, status,
244
+ expect_return, "#{func}#{args}")
245
+ return stat
246
+ end
247
+ end
248
+ end
249
+ end
@@ -0,0 +1,83 @@
1
+ #!/usr/bin/env ruby
2
+ require("gsl")
3
+ require("../gsl_test2.rb")
4
+ require("./gsl_test_sf.rb")
5
+ include GSL::Test
6
+ include Math
7
+ include GSL::Test::Sf
8
+ s = 0
9
+ m = GSL::MODE_DEFAULT
10
+ TEST_SF(s, "GSL::Sf::airy_Ai_e", "(-500.0, GSL::MODE_DEFAULT)", 0.0725901201040411396, TEST_TOL4, GSL::SUCCESS)
11
+ TEST_SF(s, "GSL::Sf::airy_Ai_e", "(-5.0, GSL::MODE_DEFAULT)", 0.3507610090241142, TEST_TOL0, GSL::SUCCESS)
12
+ TEST_SF(s, "GSL::Sf::airy_Ai_e", "(-0.3000000000000094, GSL::MODE_DEFAULT)", 0.4309030952855831, TEST_TOL0, GSL::SUCCESS)
13
+ TEST_SF(s, "GSL::Sf::airy_Ai_e", "(0.6999999999999907, GSL::MODE_DEFAULT)", 0.1891624003981519, TEST_TOL0, GSL::SUCCESS)
14
+ TEST_SF(s, "GSL::Sf::airy_Ai_e", "(1.649999999999991, GSL::MODE_DEFAULT)", 0.05831058618720882, TEST_TOL0, GSL::SUCCESS)
15
+ TEST_SF(s, "GSL::Sf::airy_Ai_e", "(1.649999999999991, GSL::MODE_DEFAULT)", 0.0583105861872088521, TEST_TOL0, GSL::SUCCESS)
16
+ TEST_SF(s, "GSL::Sf::airy_Ai_e", "(2.54999999999999, GSL::MODE_DEFAULT)", 0.01446149513295428, TEST_TOL0, GSL::SUCCESS)
17
+ TEST_SF(s, "GSL::Sf::airy_Ai_e", "(3.499999999999987, GSL::MODE_DEFAULT)", 0.002584098786989702, TEST_TOL1, GSL::SUCCESS)
18
+ TEST_SF(s, "GSL::Sf::airy_Ai_e", "(5.39999999999998, GSL::MODE_DEFAULT)", 4.272986169411866e-05, TEST_TOL0, GSL::SUCCESS)
19
+ TEST_SF(s, "GSL::Sf::airy_Ai_scaled_e", "(-5.0, GSL::MODE_DEFAULT)", 0.3507610090241142, TEST_TOL0, GSL::SUCCESS)
20
+ TEST_SF(s, "GSL::Sf::airy_Ai_scaled_e", "(0.6999999999999907, GSL::MODE_DEFAULT)", 0.2795125667681217, TEST_TOL0, GSL::SUCCESS)
21
+ TEST_SF(s, "GSL::Sf::airy_Ai_scaled_e", "(1.649999999999991, GSL::MODE_DEFAULT)", 0.2395493001442741, TEST_TOL0, GSL::SUCCESS)
22
+ TEST_SF(s, "GSL::Sf::airy_Ai_scaled_e", "(2.54999999999999, GSL::MODE_DEFAULT)", 0.2183658595899388, TEST_TOL0, GSL::SUCCESS)
23
+ TEST_SF(s, "GSL::Sf::airy_Ai_scaled_e", "(3.499999999999987, GSL::MODE_DEFAULT)", 0.2032920808163519, TEST_TOL0, GSL::SUCCESS)
24
+ TEST_SF(s, "GSL::Sf::airy_Ai_scaled_e", "(5.39999999999998, GSL::MODE_DEFAULT)", 0.1836050093282229, TEST_TOL0, GSL::SUCCESS)
25
+ TEST_SF(s, "GSL::Sf::airy_Bi_e", "(-500.0, GSL::MODE_DEFAULT)", -0.094688570132991028, TEST_TOL4, GSL::SUCCESS)
26
+ TEST_SF(s, "GSL::Sf::airy_Bi_e", "(-5.0, GSL::MODE_DEFAULT)", -0.1383691349016005, TEST_TOL1, GSL::SUCCESS)
27
+ TEST_SF(s, "GSL::Sf::airy_Bi_e", "(0.6999999999999907, GSL::MODE_DEFAULT)", 0.9733286558781599, TEST_TOL0, GSL::SUCCESS)
28
+ TEST_SF(s, "GSL::Sf::airy_Bi_e", "(1.649999999999991, GSL::MODE_DEFAULT)", 2.196407956850028, TEST_TOL0, GSL::SUCCESS)
29
+ TEST_SF(s, "GSL::Sf::airy_Bi_e", "(2.54999999999999, GSL::MODE_DEFAULT)", 6.973628612493443, TEST_TOL0, GSL::SUCCESS)
30
+ TEST_SF(s, "GSL::Sf::airy_Bi_e", "(3.499999999999987, GSL::MODE_DEFAULT)", 33.05550675461069, TEST_TOL1, GSL::SUCCESS)
31
+ TEST_SF(s, "GSL::Sf::airy_Bi_e", "(5.39999999999998, GSL::MODE_DEFAULT)", 1604.476078241272, TEST_TOL1, GSL::SUCCESS)
32
+ TEST_SF(s, "GSL::Sf::airy_Bi_scaled_e", "(-5.0, GSL::MODE_DEFAULT)", -0.1383691349016005, TEST_TOL1, GSL::SUCCESS)
33
+ TEST_SF(s, "GSL::Sf::airy_Bi_scaled_e", "(0.6999999999999907, GSL::MODE_DEFAULT)", 0.6587080754582302, TEST_TOL0, GSL::SUCCESS)
34
+ TEST_SF(s, "GSL::Sf::airy_Bi_scaled_e", "(1.649999999999991, GSL::MODE_DEFAULT)", 0.5346449995597539, TEST_TOL0, GSL::SUCCESS)
35
+ TEST_SF(s, "GSL::Sf::airy_Bi_scaled_e", "(2.54999999999999, GSL::MODE_DEFAULT)", 0.461835455542297, TEST_TOL0, GSL::SUCCESS)
36
+ TEST_SF(s, "GSL::Sf::airy_Bi_scaled_e", "(3.499999999999987, GSL::MODE_DEFAULT)", 0.4201771882353061, TEST_TOL1, GSL::SUCCESS)
37
+ TEST_SF(s, "GSL::Sf::airy_Bi_scaled_e", "(5.39999999999998, GSL::MODE_DEFAULT)", 0.3734050675720473, TEST_TOL0, GSL::SUCCESS)
38
+ TEST_SF(s, "GSL::Sf::airy_Ai_deriv_e", "(-5.0, GSL::MODE_DEFAULT)", 0.3271928185544435, TEST_TOL1, GSL::SUCCESS)
39
+ TEST_SF(s, "GSL::Sf::airy_Ai_deriv_e", "(-0.5500000000000094, GSL::MODE_DEFAULT)", -0.1914604987143629, TEST_TOL0, GSL::SUCCESS)
40
+ TEST_SF(s, "GSL::Sf::airy_Ai_deriv_e", "(0.4999999999999906, GSL::MODE_DEFAULT)", -0.2249105326646850, TEST_TOL0, GSL::SUCCESS)
41
+ TEST_SF(s, "GSL::Sf::airy_Ai_deriv_e", "(1.899999999999992, GSL::MODE_DEFAULT)", -0.06043678178575718, TEST_TOL0, GSL::SUCCESS)
42
+ TEST_SF(s, "GSL::Sf::airy_Ai_deriv_e", "(3.249999999999988, GSL::MODE_DEFAULT)", -0.007792687926790889, TEST_TOL0, GSL::SUCCESS)
43
+ TEST_SF(s, "GSL::Sf::airy_Ai_deriv_e", "(5.199999999999981, GSL::MODE_DEFAULT)", -0.0001589434526459543, TEST_TOL1, GSL::SUCCESS)
44
+ TEST_SF(s, "GSL::Sf::airy_Ai_deriv_scaled_e", "(-5.0, GSL::MODE_DEFAULT)", 0.3271928185544435, TEST_TOL1, GSL::SUCCESS)
45
+ TEST_SF(s, "GSL::Sf::airy_Ai_deriv_scaled_e", "(0.5499999999999906, GSL::MODE_DEFAULT)", -0.2874057279170166, TEST_TOL0, GSL::SUCCESS)
46
+ TEST_SF(s, "GSL::Sf::airy_Ai_deriv_scaled_e", "(1.499999999999991, GSL::MODE_DEFAULT)", -0.3314199796863637, TEST_TOL0, GSL::SUCCESS)
47
+ TEST_SF(s, "GSL::Sf::airy_Ai_deriv_scaled_e", "(2.49999999999999, GSL::MODE_DEFAULT)", -0.3661089384751620, TEST_TOL0, GSL::SUCCESS)
48
+ TEST_SF(s, "GSL::Sf::airy_Ai_deriv_scaled_e", "(3.649999999999986, GSL::MODE_DEFAULT)", -0.3974033831453963, TEST_TOL0, GSL::SUCCESS)
49
+ TEST_SF(s, "GSL::Sf::airy_Ai_deriv_scaled_e", "(6.299999999999977, GSL::MODE_DEFAULT)", -0.4508799189585947, TEST_TOL0, GSL::SUCCESS)
50
+ TEST_SF(s, "GSL::Sf::airy_Bi_deriv_e", "(-5.0, GSL::MODE_DEFAULT)", 0.778411773001899, TEST_TOL0, GSL::SUCCESS)
51
+ TEST_SF(s, "GSL::Sf::airy_Bi_deriv_e", "(-0.5500000000000094, GSL::MODE_DEFAULT)", 0.5155785358765014, TEST_TOL0, GSL::SUCCESS)
52
+ TEST_SF(s, "GSL::Sf::airy_Bi_deriv_e", "(0.4999999999999906, GSL::MODE_DEFAULT)", 0.5445725641405883, TEST_TOL0, GSL::SUCCESS)
53
+ TEST_SF(s, "GSL::Sf::airy_Bi_deriv_e", "(1.899999999999992, GSL::MODE_DEFAULT)", 3.495165862891568, TEST_TOL0, GSL::SUCCESS)
54
+ TEST_SF(s, "GSL::Sf::airy_Bi_deriv_e", "(3.249999999999988, GSL::MODE_DEFAULT)", 36.55485149250338, TEST_TOL0, GSL::SUCCESS)
55
+ TEST_SF(s, "GSL::Sf::airy_Bi_deriv_e", "(5.199999999999981, GSL::MODE_DEFAULT)", 2279.748293583233, TEST_TOL1, GSL::SUCCESS)
56
+ TEST_SF(s, "GSL::Sf::airy_Bi_deriv_scaled_e", "(-5.0, GSL::MODE_DEFAULT)", 0.778411773001899, TEST_TOL0, GSL::SUCCESS)
57
+ TEST_SF(s, "GSL::Sf::airy_Bi_deriv_scaled_e", "(0.5499999999999906, GSL::MODE_DEFAULT)", 0.4322811281817566, TEST_TOL0, GSL::SUCCESS)
58
+ TEST_SF(s, "GSL::Sf::airy_Bi_deriv_scaled_e", "(1.499999999999991, GSL::MODE_DEFAULT)", 0.5542307563918037, TEST_TOL0, GSL::SUCCESS)
59
+ TEST_SF(s, "GSL::Sf::airy_Bi_deriv_scaled_e", "(2.49999999999999, GSL::MODE_DEFAULT)", 0.6755384441644985, TEST_TOL0, GSL::SUCCESS)
60
+ TEST_SF(s, "GSL::Sf::airy_Bi_deriv_scaled_e", "(3.649999999999986, GSL::MODE_DEFAULT)", 0.7613959373000228, TEST_TOL0, GSL::SUCCESS)
61
+ TEST_SF(s, "GSL::Sf::airy_Bi_deriv_scaled_e", "(6.299999999999977, GSL::MODE_DEFAULT)", 0.8852064139737571, TEST_TOL0, GSL::SUCCESS)
62
+ TEST_SF(s, "GSL::Sf::airy_zero_Ai_e", "(2)", -4.087949444130970617, TEST_TOL0, GSL::SUCCESS)
63
+ TEST_SF(s, "GSL::Sf::airy_zero_Ai_e", "(50)", -38.02100867725525443, TEST_TOL0, GSL::SUCCESS)
64
+ TEST_SF(s, "GSL::Sf::airy_zero_Ai_e", "(100)", -60.45555727411669871, TEST_TOL0, GSL::SUCCESS)
65
+ TEST_SF(s, "GSL::Sf::airy_zero_Ai_e", "(110)", -64.43135670991324811, TEST_TOL0, GSL::SUCCESS)
66
+ TEST_SF(s, "GSL::Sf::airy_zero_Bi_e", "(2)", -3.271093302836352716, TEST_TOL0, GSL::SUCCESS)
67
+ TEST_SF(s, "GSL::Sf::airy_zero_Bi_e", "(50)", -37.76583438165180116, TEST_TOL0, GSL::SUCCESS)
68
+ TEST_SF(s, "GSL::Sf::airy_zero_Bi_e", "(100)", -60.25336482580837088, TEST_TOL0, GSL::SUCCESS)
69
+ TEST_SF(s, "GSL::Sf::airy_zero_Bi_e", "(110)", -64.2355167606561537, TEST_TOL0, GSL::SUCCESS)
70
+ TEST_SF(s, "GSL::Sf::airy_zero_Bi_e", "(111)", -64.6268994819519378, TEST_TOL0, GSL::SUCCESS)
71
+ TEST_SF(s, "GSL::Sf::airy_zero_Bi_e", "(200)", -95.88699147356682665, TEST_TOL0, GSL::SUCCESS)
72
+ TEST_SF(s, "GSL::Sf::airy_zero_Ai_deriv_e", "(2)", -3.248197582179836561, TEST_TOL0, GSL::SUCCESS)
73
+ TEST_SF(s, "GSL::Sf::airy_zero_Ai_deriv_e", "(50)", -37.76565910053887108, TEST_TOL0, GSL::SUCCESS)
74
+ TEST_SF(s, "GSL::Sf::airy_zero_Ai_deriv_e", "(100)", -60.25329596442479317, TEST_TOL0, GSL::SUCCESS)
75
+ TEST_SF(s, "GSL::Sf::airy_zero_Ai_deriv_e", "(110)", -64.23545617243546956, TEST_TOL0, GSL::SUCCESS)
76
+ TEST_SF(s, "GSL::Sf::airy_zero_Ai_deriv_e", "(1000)", -280.9378080358935071, TEST_TOL0, GSL::SUCCESS)
77
+ TEST_SF(s, "GSL::Sf::airy_zero_Bi_deriv_e", "(2)", -4.073155089071828216, TEST_TOL0, GSL::SUCCESS)
78
+ TEST_SF(s, "GSL::Sf::airy_zero_Bi_deriv_e", "(50)", -38.02083574095788210, TEST_TOL0, GSL::SUCCESS)
79
+ TEST_SF(s, "GSL::Sf::airy_zero_Bi_deriv_e", "(100)", -60.45548887257140819, TEST_TOL0, GSL::SUCCESS)
80
+ TEST_SF(s, "GSL::Sf::airy_zero_Bi_deriv_e", "(110)", -64.43129648944845060, TEST_TOL0, GSL::SUCCESS)
81
+ TEST_SF(s, "GSL::Sf::airy_zero_Bi_deriv_e", "(111)", -64.82208737584206093, TEST_TOL0, GSL::SUCCESS)
82
+ TEST_SF(s, "GSL::Sf::airy_zero_Bi_deriv_e", "(200)", -96.04731050310324450, TEST_TOL0, GSL::SUCCESS)
83
+ TEST_SF(s, "GSL::Sf::airy_zero_Bi_deriv_e", "(1000)", -281.0315164471118527, TEST_TOL0, GSL::SUCCESS)
@@ -0,0 +1,306 @@
1
+ #!/usr/bin/env ruby
2
+ require("gsl")
3
+ require("../gsl_test2.rb")
4
+ require("./gsl_test_sf.rb")
5
+ include GSL::Test
6
+ include Math
7
+ include GSL::Test::Sf
8
+ s = 0
9
+ m = GSL::MODE_DEFAULT
10
+ TEST_SF(s, "GSL::Sf::bessel_J0_e", "(0.1)", 0.99750156206604003230, TEST_TOL0, GSL::SUCCESS)
11
+ TEST_SF(s, "GSL::Sf::bessel_J0_e", "(2.0)", 0.22389077914123566805, TEST_TOL0, GSL::SUCCESS)
12
+ TEST_SF(s, "GSL::Sf::bessel_J0_e", "(100.0)", 0.019985850304223122424, TEST_TOL0, GSL::SUCCESS)
13
+ TEST_SF(s, "GSL::Sf::bessel_J0_e", "(1.0e+10)", 2.1755917502468917269e-06, TEST_SQRT_TOL0, GSL::SUCCESS)
14
+ TEST_SF(s, "GSL::Sf::bessel_J1_e", "(0.1)", 0.04993752603624199756, TEST_TOL0, GSL::SUCCESS)
15
+ TEST_SF(s, "GSL::Sf::bessel_J1_e", "(2.0)", 0.57672480775687338720, TEST_TOL0, GSL::SUCCESS)
16
+ TEST_SF(s, "GSL::Sf::bessel_J1_e", "(100.0)", -0.07714535201411215803, TEST_TOL0, GSL::SUCCESS)
17
+ TEST_SF(s, "GSL::Sf::bessel_J1_e", "(1.0e+10)", -7.676508175684157103e-06, TEST_TOL4, GSL::SUCCESS)
18
+ TEST_SF(s, "GSL::Sf::bessel_Jn_e", "(4, 0.1)", 2.6028648545684032338e-07, TEST_TOL0, GSL::SUCCESS)
19
+ TEST_SF(s, "GSL::Sf::bessel_Jn_e", "(5, 2.0)", 0.007039629755871685484, TEST_TOL0, GSL::SUCCESS)
20
+ TEST_SF(s, "GSL::Sf::bessel_Jn_e", "(10, 20.0)", 0.18648255802394508321, TEST_TOL0, GSL::SUCCESS)
21
+ TEST_SF(s, "GSL::Sf::bessel_Jn_e", "(100, 100.0)", 0.09636667329586155967, TEST_TOL0, GSL::SUCCESS)
22
+ TEST_SF(s, "GSL::Sf::bessel_Jn_e", "(2, 900.0)", -0.019974345269680646400, TEST_TOL4, GSL::SUCCESS)
23
+ TEST_SF(s, "GSL::Sf::bessel_Jn_e", "(2, 15000.0)", -0.0020455820181216382666, TEST_TOL4, GSL::SUCCESS)
24
+ TEST_SF(s, "GSL::Sf::bessel_Jn_e", "(0, 1.0e+10)", 2.1755917502468917269e-06, TEST_SQRT_TOL0, GSL::SUCCESS)
25
+ TEST_SF(s, "GSL::Sf::bessel_Jn_e", "(1, 1.0e+10)", -7.676508175684157103e-06, TEST_TOL4, GSL::SUCCESS)
26
+ # TEST_SF(s, "GSL::Sf::bessel_Jn_e", "(0, 20000)", -7.676508175684157103e-06, TEST_TOL4, GSL::SUCCESS)
27
+ TEST_SF(s, "GSL::Sf::bessel_Y0_e", "(0.1)", -1.5342386513503668441, TEST_TOL0, GSL::SUCCESS)
28
+ TEST_SF(s, "GSL::Sf::bessel_Y0_e", "(2)", 0.5103756726497451196, TEST_TOL0, GSL::SUCCESS)
29
+ TEST_SF(s, "GSL::Sf::bessel_Y0_e", "(256.0)", -0.03381290171792454909 , TEST_TOL0, GSL::SUCCESS)
30
+ TEST_SF(s, "GSL::Sf::bessel_Y0_e", "(4294967296.0)", 3.657903190017678681e-06, TEST_SQRT_TOL0, GSL::SUCCESS)
31
+ TEST_SF(s, "GSL::Sf::bessel_Y1_e", "(0.1)", -6.45895109470202698800, TEST_TOL0, GSL::SUCCESS)
32
+ TEST_SF(s, "GSL::Sf::bessel_Y1_e", "(2)", -0.10703243154093754689, TEST_TOL0, GSL::SUCCESS)
33
+ TEST_SF(s, "GSL::Sf::bessel_Y1_e", "(100.0)", -0.020372312002759793305, TEST_TOL0, GSL::SUCCESS)
34
+ TEST_SF(s, "GSL::Sf::bessel_Y1_e", "(4294967296.0)", 0.000011612249378370766284, TEST_TOL4, GSL::SUCCESS)
35
+ TEST_SF(s, "GSL::Sf::bessel_Yn_e", "(4, 0.1)", -305832.29793353160319, TEST_TOL1, GSL::SUCCESS)
36
+ TEST_SF(s, "GSL::Sf::bessel_Yn_e", "(5, 2)", -9.935989128481974981, TEST_TOL0, GSL::SUCCESS)
37
+ TEST_SF(s, "GSL::Sf::bessel_Yn_e", "(100, 100.0)", -0.16692141141757650654, TEST_TOL0, GSL::SUCCESS)
38
+ TEST_SF(s, "GSL::Sf::bessel_Yn_e", "(100, 4294967296.0)", 3.657889671577715808e-06, TEST_SQRT_TOL0, GSL::SUCCESS)
39
+ TEST_SF(s, "GSL::Sf::bessel_Yn_e", "(1000, 4294967296.0)", 3.656551321485397501e-06, 2.0e-05, GSL::SUCCESS)
40
+ TEST_SF(s, "GSL::Sf::bessel_Yn_e", "(2, 15000.0)", -0.006185217273358617849, TEST_TOL4, GSL::SUCCESS)
41
+ TEST_SF(s, "GSL::Sf::bessel_I0_scaled_e", "(1e-10)", 0.99999999990000000001, TEST_TOL0, GSL::SUCCESS)
42
+ TEST_SF(s, "GSL::Sf::bessel_I0_scaled_e", "(0.1)", 0.90710092578230109640, TEST_TOL0, GSL::SUCCESS)
43
+ TEST_SF(s, "GSL::Sf::bessel_I0_scaled_e", "(2)", 0.30850832255367103953, TEST_TOL0, GSL::SUCCESS)
44
+ TEST_SF(s, "GSL::Sf::bessel_I0_scaled_e", "(100.0)", 0.03994437929909668265, TEST_TOL0, GSL::SUCCESS)
45
+ TEST_SF(s, "GSL::Sf::bessel_I0_scaled_e", "(65536.0)", 0.0015583712551952223537, TEST_TOL0, GSL::SUCCESS)
46
+ TEST_SF(s, "GSL::Sf::bessel_I1_scaled_e", "(0.1)", 0.04529844680880932501, TEST_TOL0, GSL::SUCCESS)
47
+ TEST_SF(s, "GSL::Sf::bessel_I1_scaled_e", "(2)", 0.21526928924893765916, TEST_TOL0, GSL::SUCCESS)
48
+ TEST_SF(s, "GSL::Sf::bessel_I1_scaled_e", "(100.0)", 0.03974415302513025267, TEST_TOL0, GSL::SUCCESS)
49
+ TEST_SF(s, "GSL::Sf::bessel_I1_scaled_e", "(65536.0)", 0.0015583593657207350452, TEST_TOL0, GSL::SUCCESS)
50
+ TEST_SF(s, "GSL::Sf::bessel_In_scaled_e", "( -4, 0.1)", 2.3575258620054605307e-07, TEST_TOL0, GSL::SUCCESS)
51
+ TEST_SF(s, "GSL::Sf::bessel_In_scaled_e", "( 4, 0.1)", 2.3575258620054605307e-07, TEST_TOL0, GSL::SUCCESS)
52
+ TEST_SF(s, "GSL::Sf::bessel_In_scaled_e", "( 5, 2.0)", 0.0013297610941881578142, TEST_TOL0, GSL::SUCCESS)
53
+ TEST_SF(s, "GSL::Sf::bessel_In_scaled_e", "( 100, 100.0)", 1.7266862628167695785e-22, TEST_TOL0, GSL::SUCCESS)
54
+ TEST_SF(s, "GSL::Sf::bessel_I0_e", "(0.1)", 1.0025015629340956014, TEST_TOL0, GSL::SUCCESS)
55
+ TEST_SF(s, "GSL::Sf::bessel_I0_e", "(2.0)", 2.2795853023360672674, TEST_TOL0, GSL::SUCCESS)
56
+ TEST_SF(s, "GSL::Sf::bessel_I0_e", "(100.0)", 1.0737517071310738235e+42, TEST_TOL2, GSL::SUCCESS)
57
+ TEST_SF(s, "GSL::Sf::bessel_I1_e", "(0.1)", 0.05006252604709269211, TEST_TOL0, GSL::SUCCESS)
58
+ TEST_SF(s, "GSL::Sf::bessel_I1_e", "(2.0)", 1.59063685463732906340, TEST_TOL0, GSL::SUCCESS)
59
+ TEST_SF(s, "GSL::Sf::bessel_I1_e", "(100.0)", 1.0683693903381624812e+42, TEST_TOL2, GSL::SUCCESS)
60
+ TEST_SF(s, "GSL::Sf::bessel_In_e", "( 4, 0.1)", 2.6054690212996573677e-07, TEST_TOL0, GSL::SUCCESS)
61
+ TEST_SF(s, "GSL::Sf::bessel_In_e", "( 5, 2.0)", 0.009825679323131702321, TEST_TOL0, GSL::SUCCESS)
62
+ TEST_SF(s, "GSL::Sf::bessel_In_e", "( 100, 100.0)", 4.641534941616199114e+21, TEST_TOL2, GSL::SUCCESS)
63
+ TEST_SF(s, "GSL::Sf::bessel_K0_scaled_e", "(0.1)", 2.6823261022628943831, TEST_TOL0, GSL::SUCCESS)
64
+ TEST_SF(s, "GSL::Sf::bessel_K0_scaled_e", "(2.0)", 0.8415682150707714179, TEST_TOL0, GSL::SUCCESS)
65
+ TEST_SF(s, "GSL::Sf::bessel_K0_scaled_e", "(100.0)", 0.1251756216591265789, TEST_TOL0, GSL::SUCCESS)
66
+ TEST_SF(s, "GSL::Sf::bessel_K1_scaled_e", "(0.1)", 10.890182683049696574, TEST_TOL0, GSL::SUCCESS)
67
+ TEST_SF(s, "GSL::Sf::bessel_K1_scaled_e", "(2.0)", 1.0334768470686885732, TEST_TOL0, GSL::SUCCESS)
68
+ TEST_SF(s, "GSL::Sf::bessel_K1_scaled_e", "(100.0)", 0.1257999504795785293, TEST_TOL0, GSL::SUCCESS)
69
+ TEST_SF(s, "GSL::Sf::bessel_Kn_scaled_e", "( 4, 0.1)", 530040.2483725626207, TEST_TOL1, GSL::SUCCESS)
70
+ TEST_SF(s, "GSL::Sf::bessel_Kn_scaled_e", "( 5, 2.0)", 69.68655087607675118, TEST_TOL0, GSL::SUCCESS)
71
+ TEST_SF(s, "GSL::Sf::bessel_Kn_scaled_e", "( 100, 100.0)", 2.0475736731166756813e+19, TEST_TOL1, GSL::SUCCESS)
72
+ TEST_SF(s, "GSL::Sf::bessel_K0_e", "(0.1)", 2.4270690247020166125, TEST_TOL0, GSL::SUCCESS)
73
+ TEST_SF(s, "GSL::Sf::bessel_K0_e", "(2.0)", 0.11389387274953343565, TEST_TOL0, GSL::SUCCESS)
74
+ TEST_SF(s, "GSL::Sf::bessel_K0_e", "(100.0)", 4.656628229175902019e-45, TEST_TOL2, GSL::SUCCESS)
75
+ TEST_SF(s, "GSL::Sf::bessel_K1_e", "(0.1)", 9.853844780870606135, TEST_TOL0, GSL::SUCCESS)
76
+ TEST_SF(s, "GSL::Sf::bessel_K1_e", "(2.0)", 0.13986588181652242728, TEST_TOL0, GSL::SUCCESS)
77
+ TEST_SF(s, "GSL::Sf::bessel_K1_e", "(100.0)", 4.679853735636909287e-45, TEST_TOL2, GSL::SUCCESS)
78
+ TEST_SF(s, "GSL::Sf::bessel_Kn_e", "( 4, 0.1)", 479600.2497925682849, TEST_TOL1, GSL::SUCCESS)
79
+ TEST_SF(s, "GSL::Sf::bessel_Kn_e", "( 5, 2.0)", 9.431049100596467443, TEST_TOL0, GSL::SUCCESS)
80
+ TEST_SF(s, "GSL::Sf::bessel_Kn_e", "( 100, 100.0)", 7.617129630494085416e-25, TEST_TOL2, GSL::SUCCESS)
81
+ TEST_SF(s, "GSL::Sf::bessel_j0_e", "(-10.0)", -0.05440211108893698134, TEST_TOL0, GSL::SUCCESS)
82
+ TEST_SF(s, "GSL::Sf::bessel_j0_e", "(0.001)", 0.9999998333333416667, TEST_TOL0, GSL::SUCCESS)
83
+ TEST_SF(s, "GSL::Sf::bessel_j0_e", "( 1.0)", 0.84147098480789650670, TEST_TOL0, GSL::SUCCESS)
84
+ TEST_SF(s, "GSL::Sf::bessel_j0_e", "( 10.0)", -0.05440211108893698134, TEST_TOL0, GSL::SUCCESS)
85
+ TEST_SF(s, "GSL::Sf::bessel_j0_e", "(100.0)", -0.005063656411097587937, TEST_TOL1, GSL::SUCCESS)
86
+ TEST_SF(s, "GSL::Sf::bessel_j0_e", "(1048576.0)", 3.1518281938718287624e-07, TEST_TOL2, GSL::SUCCESS)
87
+ TEST_SF(s, "GSL::Sf::bessel_j1_e", "(-10.0)", -0.07846694179875154709, TEST_TOL0, GSL::SUCCESS)
88
+ TEST_SF(s, "GSL::Sf::bessel_j1_e", "(0.01)", 0.003333300000119047399, TEST_TOL0, GSL::SUCCESS)
89
+ TEST_SF(s, "GSL::Sf::bessel_j1_e", "( 1.0)", 0.30116867893975678925, TEST_TOL0, GSL::SUCCESS)
90
+ TEST_SF(s, "GSL::Sf::bessel_j1_e", "( 10.0)", 0.07846694179875154709, TEST_TOL0, GSL::SUCCESS)
91
+ TEST_SF(s, "GSL::Sf::bessel_j1_e", "(100.0)", -0.008673825286987815220, TEST_TOL0, GSL::SUCCESS)
92
+ TEST_SF(s, "GSL::Sf::bessel_j1_e", "(1048576.0)", -9.000855242905546158e-07, TEST_TOL0, GSL::SUCCESS)
93
+ TEST_SF(s, "GSL::Sf::bessel_j2_e", "(-10.0)", 0.07794219362856244547, TEST_TOL0, GSL::SUCCESS)
94
+ TEST_SF(s, "GSL::Sf::bessel_j2_e", "(0.01)", 6.666619047751322551e-06, TEST_TOL0, GSL::SUCCESS)
95
+ TEST_SF(s, "GSL::Sf::bessel_j2_e", "( 1.0)", 0.06203505201137386110, TEST_TOL0, GSL::SUCCESS)
96
+ TEST_SF(s, "GSL::Sf::bessel_j2_e", "( 10.0)", 0.07794219362856244547, TEST_TOL0, GSL::SUCCESS)
97
+ TEST_SF(s, "GSL::Sf::bessel_j2_e", "(100.0)", 0.004803441652487953480, TEST_TOL1, GSL::SUCCESS)
98
+ TEST_SF(s, "GSL::Sf::bessel_j2_e", "(1048576.0)", -3.1518539455252413111e-07, TEST_TOL2, GSL::SUCCESS)
99
+ TEST_SF(s, "GSL::Sf::bessel_jl_e", "(0, 0.0)", 1.0, TEST_TOL0, GSL::SUCCESS)
100
+ TEST_SF(s, "GSL::Sf::bessel_jl_e", "(1, 10.0)", 0.07846694179875154709000, TEST_TOL0, GSL::SUCCESS)
101
+ TEST_SF(s, "GSL::Sf::bessel_jl_e", "(5, 1.0)", 0.00009256115861125816357, TEST_TOL0, GSL::SUCCESS)
102
+ TEST_SF(s, "GSL::Sf::bessel_jl_e", "(10, 10.0)", 0.06460515449256426427, TEST_TOL0, GSL::SUCCESS)
103
+ TEST_SF(s, "GSL::Sf::bessel_jl_e", "(100, 100.0)", 0.010880477011438336539, TEST_TOL1, GSL::SUCCESS)
104
+ TEST_SF(s, "GSL::Sf::bessel_jl_e", "(2000, 1048576.0)", 7.449384239168568534e-07, TEST_SQRT_TOL0, GSL::SUCCESS)
105
+ TEST_SF(s, "GSL::Sf::bessel_jl_e", "(2, 900.0)", -0.0011089115568832940086, TEST_TOL4, GSL::SUCCESS)
106
+ TEST_SF(s, "GSL::Sf::bessel_jl_e", "(2, 15000.0)", -0.00005955592033075750554, TEST_TOL4, GSL::SUCCESS)
107
+ TEST_SF(s, "GSL::Sf::bessel_y0_e", "(0.001)", -999.99950000004166670, TEST_TOL0, GSL::SUCCESS)
108
+ TEST_SF(s, "GSL::Sf::bessel_y0_e", "( 1.0)", -0.5403023058681397174, TEST_TOL0, GSL::SUCCESS)
109
+ TEST_SF(s, "GSL::Sf::bessel_y0_e", "( 10.0)", 0.08390715290764524523, TEST_TOL0, GSL::SUCCESS)
110
+ TEST_SF(s, "GSL::Sf::bessel_y0_e", "(100.0)", -0.008623188722876839341, TEST_TOL0, GSL::SUCCESS)
111
+ TEST_SF(s, "GSL::Sf::bessel_y0_e", "(65536.0)", 0.000011014324202158573930, TEST_TOL0, GSL::SUCCESS)
112
+ TEST_SF(s, "GSL::Sf::bessel_y0_e", "(4294967296.0)", 2.0649445131370357007e-10, TEST_SQRT_TOL0, GSL::SUCCESS)
113
+ TEST_SF(s, "GSL::Sf::bessel_y1_e", "( 0.01)", -10000.499987500069444, TEST_TOL0, GSL::SUCCESS)
114
+ TEST_SF(s, "GSL::Sf::bessel_y1_e", "( 1.0)", -1.3817732906760362241, TEST_TOL0, GSL::SUCCESS)
115
+ TEST_SF(s, "GSL::Sf::bessel_y1_e", "( 10.0)", 0.06279282637970150586, TEST_TOL0, GSL::SUCCESS)
116
+ TEST_SF(s, "GSL::Sf::bessel_y1_e", "(100.0)", 0.004977424523868819543, TEST_TOL0, GSL::SUCCESS)
117
+ TEST_SF(s, "GSL::Sf::bessel_y1_e", "(4294967296.0)", 1.0756463271573404688e-10, TEST_SQRT_TOL0, GSL::SUCCESS)
118
+ TEST_SF(s, "GSL::Sf::bessel_y2_e", "( 0.01)", -3.0000500012499791668e+06, TEST_TOL0, GSL::SUCCESS)
119
+ TEST_SF(s, "GSL::Sf::bessel_y2_e", "( 1.0)", -3.605017566159968955, TEST_TOL0, GSL::SUCCESS)
120
+ TEST_SF(s, "GSL::Sf::bessel_y2_e", "( 10.0)", -0.06506930499373479347, TEST_TOL0, GSL::SUCCESS)
121
+ TEST_SF(s, "GSL::Sf::bessel_y2_e", "(100.0)", 0.008772511458592903927, TEST_TOL0, GSL::SUCCESS)
122
+ TEST_SF(s, "GSL::Sf::bessel_y2_e", "(4294967296.0)", -2.0649445123857054207e-10, TEST_SQRT_TOL0, GSL::SUCCESS)
123
+ TEST_SF(s, "GSL::Sf::bessel_yl_e", "(0, 0.01)", -99.995000041666528, TEST_TOL0, GSL::SUCCESS)
124
+ TEST_SF(s, "GSL::Sf::bessel_yl_e", "(0, 1.0)", -0.54030230586813972, TEST_TOL0, GSL::SUCCESS)
125
+ TEST_SF(s, "GSL::Sf::bessel_yl_e", "(1, 10.0)", 0.062792826379701506, TEST_TOL0, GSL::SUCCESS)
126
+ TEST_SF(s, "GSL::Sf::bessel_yl_e", "(5, 1.0)", -999.44034339223641, TEST_TOL0, GSL::SUCCESS)
127
+ TEST_SF(s, "GSL::Sf::bessel_yl_e", "(10, 0.01)", -6.5473079797378378e+30, TEST_TOL0, GSL::SUCCESS)
128
+ TEST_SF(s, "GSL::Sf::bessel_yl_e", "(10, 10.0)", -0.172453672088057849, TEST_TOL0, GSL::SUCCESS)
129
+ TEST_SF(s, "GSL::Sf::bessel_yl_e", "(100, 1.0)", -6.6830794632586775e+186, TEST_TOL1, GSL::SUCCESS)
130
+ TEST_SF(s, "GSL::Sf::bessel_yl_e", "(100, 100.0)", -0.0229838504915622811, TEST_TOL1, GSL::SUCCESS)
131
+ TEST_SF(s, "GSL::Sf::bessel_yl_e", "(2000, 1048576.0)", 5.9545201447146155e-07, TEST_SQRT_TOL0, GSL::SUCCESS)
132
+ TEST_SF(s, "GSL::Sf::bessel_i0_scaled_e", "(0.1)", 0.9063462346100907067, TEST_TOL0, GSL::SUCCESS)
133
+ TEST_SF(s, "GSL::Sf::bessel_i0_scaled_e", "(2.0)", 0.24542109027781645493, TEST_TOL0, GSL::SUCCESS)
134
+ TEST_SF(s, "GSL::Sf::bessel_i0_scaled_e", "(100.0)", 0.005000000000000000000, TEST_TOL0, GSL::SUCCESS)
135
+ TEST_SF(s, "GSL::Sf::bessel_i1_scaled_e", "(0.1)", 0.030191419289002226846, TEST_TOL0, GSL::SUCCESS)
136
+ TEST_SF(s, "GSL::Sf::bessel_i1_scaled_e", "(2.0)", 0.131868364583275317610, TEST_TOL0, GSL::SUCCESS)
137
+ TEST_SF(s, "GSL::Sf::bessel_i1_scaled_e", "(100.0)", 0.004950000000000000000, TEST_TOL0, GSL::SUCCESS)
138
+ TEST_SF(s, "GSL::Sf::bessel_i2_scaled_e", "(0.1)", 0.0006036559400239012567, TEST_TOL0, GSL::SUCCESS)
139
+ TEST_SF(s, "GSL::Sf::bessel_i2_scaled_e", "(2.0)", 0.0476185434029034785100, TEST_TOL0, GSL::SUCCESS)
140
+ TEST_SF(s, "GSL::Sf::bessel_i2_scaled_e", "(100.0)", 0.0048515000000000000000, TEST_TOL0, GSL::SUCCESS)
141
+ TEST_SF(s, "GSL::Sf::bessel_il_scaled_e", "( 4, 0.001)", 1.0571434341190365013e-15, TEST_TOL0, GSL::SUCCESS)
142
+ TEST_SF(s, "GSL::Sf::bessel_il_scaled_e", "( 4, 0.1)", 9.579352242057134927e-08, TEST_TOL1, GSL::SUCCESS)
143
+ TEST_SF(s, "GSL::Sf::bessel_il_scaled_e", "( 5, 2.0)", 0.0004851564602127540059, TEST_TOL0, GSL::SUCCESS)
144
+ TEST_SF(s, "GSL::Sf::bessel_il_scaled_e", "( 5, 100.0)", 0.004300446777500000000, TEST_TOL1, GSL::SUCCESS)
145
+ TEST_SF(s, "GSL::Sf::bessel_il_scaled_e", "( 100, 100.0)", 1.3898161964299132789e-23, TEST_TOL0, GSL::SUCCESS)
146
+ TEST_SF(s, "GSL::Sf::bessel_k0_scaled_e", "(0.1)", 15.707963267948966192, TEST_TOL0, GSL::SUCCESS)
147
+ TEST_SF(s, "GSL::Sf::bessel_k0_scaled_e", "(2.0)", 0.7853981633974483096, TEST_TOL0, GSL::SUCCESS)
148
+ TEST_SF(s, "GSL::Sf::bessel_k0_scaled_e", "(100.0)", 0.015707963267948966192, TEST_TOL0, GSL::SUCCESS)
149
+ TEST_SF(s, "GSL::Sf::bessel_k1_scaled_e", "(0.1)", 172.78759594743862812, TEST_TOL0, GSL::SUCCESS)
150
+ TEST_SF(s, "GSL::Sf::bessel_k1_scaled_e", "(2.0)", 1.1780972450961724644, TEST_TOL0, GSL::SUCCESS)
151
+ TEST_SF(s, "GSL::Sf::bessel_k1_scaled_e", "(100.0)", 0.015865042900628455854, TEST_TOL0, GSL::SUCCESS)
152
+ TEST_SF(s, "GSL::Sf::bessel_k2_scaled_e", "(0.1)", 5199.335841691107810, TEST_TOL0, GSL::SUCCESS)
153
+ TEST_SF(s, "GSL::Sf::bessel_k2_scaled_e", "(2.0)", 2.5525440310417070063, TEST_TOL0, GSL::SUCCESS)
154
+ TEST_SF(s, "GSL::Sf::bessel_k2_scaled_e", "(100.0)", 0.016183914554967819868, TEST_TOL0, GSL::SUCCESS)
155
+ TEST_SF(s, "GSL::Sf::bessel_kl_scaled_e", "( 4, 1.0/256.0)", 1.8205599816961954439e+14, TEST_TOL0, GSL::SUCCESS)
156
+ TEST_SF(s, "GSL::Sf::bessel_kl_scaled_e", "( 4, 1.0/8.0)", 6.1173217814406597530e+06, TEST_TOL0, GSL::SUCCESS)
157
+ TEST_SF(s, "GSL::Sf::bessel_kl_scaled_e", "( 5, 2.0)", 138.10735829492005119, TEST_TOL0, GSL::SUCCESS)
158
+ TEST_SF(s, "GSL::Sf::bessel_kl_scaled_e", "( 100, 100.0)", 3.985930768060258219e+18, TEST_TOL1, GSL::SUCCESS)
159
+ TEST_SF(s, "GSL::Sf::bessel_Jnu_e", "(0.0001, 1.0)", 0.7652115411876708497, TEST_TOL2, GSL::SUCCESS)
160
+ TEST_SF(s, "GSL::Sf::bessel_Jnu_e", "(0.0001, 10.0)", -0.2459270166445205, TEST_TOL2, GSL::SUCCESS)
161
+ TEST_SF(s, "GSL::Sf::bessel_Jnu_e", "(0.0009765625, 10.0)", -0.2458500798634692, TEST_TOL2, GSL::SUCCESS)
162
+ TEST_SF(s, "GSL::Sf::bessel_Jnu_e", "(0.75, 1.0)", 0.5586524932048917478, TEST_TOL2, GSL::SUCCESS)
163
+ TEST_SF(s, "GSL::Sf::bessel_Jnu_e", "(0.75, 10.0)", -0.04968928974751508135, TEST_TOL2, GSL::SUCCESS)
164
+ TEST_SF(s, "GSL::Sf::bessel_Jnu_e", "( 1.0, 0.001)", 0.0004999999375000026, TEST_TOL0, GSL::SUCCESS)
165
+ TEST_SF(s, "GSL::Sf::bessel_Jnu_e", "( 1.0, 1.0)", 0.4400505857449335160, TEST_TOL0, GSL::SUCCESS)
166
+ TEST_SF(s, "GSL::Sf::bessel_Jnu_e", "( 1.75, 1.0)", 0.168593922545763170103, TEST_TOL1, GSL::SUCCESS)
167
+ TEST_SF(s, "GSL::Sf::bessel_Jnu_e", "(30.0, 1.0)", 3.482869794251482902e-42, TEST_TOL0, GSL::SUCCESS)
168
+ TEST_SF(s, "GSL::Sf::bessel_Jnu_e", "(30.0, 100.0)", 0.08146012958117222297, TEST_TOL1, GSL::SUCCESS)
169
+ TEST_SF(s, "GSL::Sf::bessel_Jnu_e", "(10.0, 1.0)", 2.6306151236874532070e-10, TEST_TOL0, GSL::SUCCESS)
170
+ TEST_SF(s, "GSL::Sf::bessel_Jnu_e", "(10.0, 100.0)", -0.05473217693547201474, TEST_TOL2, GSL::SUCCESS)
171
+ TEST_SF(s, "GSL::Sf::bessel_Jnu_e", "(10.2, 100.0)", -0.03548919161046526864, TEST_TOL2, GSL::SUCCESS)
172
+ TEST_SF(s, "GSL::Sf::bessel_Jnu_e", "(2.0, 900.0)", -0.019974345269680646400, TEST_TOL4, GSL::SUCCESS)
173
+ TEST_SF(s, "GSL::Sf::bessel_Jnu_e", "(2.0, 15000.0)", -0.0020455820181216382666, TEST_TOL4, GSL::SUCCESS)
174
+ TEST_SF(s, "GSL::Sf::bessel_Ynu_e", "(0.0001, 1.0)", 0.08813676933044478439, TEST_TOL2, GSL::SUCCESS)
175
+ TEST_SF(s, "GSL::Sf::bessel_Ynu_e", "(0.0001,10.0)", 0.05570979797521875261, TEST_TOL2, GSL::SUCCESS)
176
+ TEST_SF(s, "GSL::Sf::bessel_Ynu_e", "( 0.75, 1.0)", -0.6218694174429746383, TEST_TOL0, GSL::SUCCESS)
177
+ TEST_SF(s, "GSL::Sf::bessel_Ynu_e", "( 0.75, 10.0)", 0.24757063446760384953, TEST_TOL0, GSL::SUCCESS)
178
+ TEST_SF(s, "GSL::Sf::bessel_Ynu_e", "( 1.0, 0.001)", -636.6221672311394281, TEST_TOL0, GSL::SUCCESS)
179
+ TEST_SF(s, "GSL::Sf::bessel_Ynu_e", "( 1.0, 1.0)", -0.7812128213002887165, TEST_TOL0, GSL::SUCCESS)
180
+ TEST_SF(s, "GSL::Sf::bessel_Ynu_e", "(30.0, 1.0)", -3.0481287832256432162e+39, TEST_TOL0, GSL::SUCCESS)
181
+ TEST_SF(s, "GSL::Sf::bessel_Ynu_e", "(30.0, 100.0)", 0.006138839212010033452, TEST_TOL2, GSL::SUCCESS)
182
+ TEST_SF(s, "GSL::Sf::bessel_Ynu_e", "(10.0, 1.0)", -1.2161801427868918929e+08, TEST_TOL0, GSL::SUCCESS)
183
+ TEST_SF(s, "GSL::Sf::bessel_Ynu_e", "(10.0, 100.0)", 0.05833157423641492875, TEST_TOL2, GSL::SUCCESS)
184
+ TEST_SF(s, "GSL::Sf::bessel_Ynu_e", "(10.2, 100.0)", 0.07169383985546287091, TEST_TOL2, GSL::SUCCESS)
185
+ TEST_SF(s, "GSL::Sf::bessel_Inu_scaled_e", "(0.0001,10.0)", 0.12783333709581669672, TEST_TOL0, GSL::SUCCESS)
186
+ TEST_SF(s, "GSL::Sf::bessel_Inu_scaled_e", "( 1.0, 0.001)", 0.0004995003123542213370, TEST_TOL0, GSL::SUCCESS)
187
+ TEST_SF(s, "GSL::Sf::bessel_Inu_scaled_e", "( 1.0, 1.0)", 0.20791041534970844887, TEST_TOL0, GSL::SUCCESS)
188
+ TEST_SF(s, "GSL::Sf::bessel_Inu_scaled_e", "(30.0, 1.0)", 1.3021094983785914437e-42, TEST_TOL0, GSL::SUCCESS)
189
+ TEST_SF(s, "GSL::Sf::bessel_Inu_scaled_e", "(30.0, 100.0)", 0.0004486987756920986146, TEST_TOL3, GSL::SUCCESS)
190
+ TEST_SF(s, "GSL::Sf::bessel_Inu_scaled_e", "(10.0, 1.0)", 1.0127529864692066036e-10, TEST_TOL0, GSL::SUCCESS)
191
+ TEST_SF(s, "GSL::Sf::bessel_Inu_scaled_e", "(10.0, 100.0)", 0.024176682718258828365, TEST_TOL3, GSL::SUCCESS)
192
+ TEST_SF(s, "GSL::Sf::bessel_Inu_scaled_e", "(10.2, 100.0)", 0.023691628843913810043, TEST_TOL3, GSL::SUCCESS)
193
+ TEST_SF(s, "GSL::Sf::bessel_Inu_e", "(0.0001,10.0)", 2815.7166269770030352, TEST_TOL0, GSL::SUCCESS)
194
+ TEST_SF(s, "GSL::Sf::bessel_Inu_e", "( 1.0, 0.001)", 0.0005000000625000026042, TEST_TOL0, GSL::SUCCESS)
195
+ TEST_SF(s, "GSL::Sf::bessel_Inu_e", "( 1.0, 1.0)", 0.5651591039924850272, TEST_TOL0, GSL::SUCCESS)
196
+ TEST_SF(s, "GSL::Sf::bessel_Inu_e", "(30.0, 1.0)", 3.539500588106447747e-42, TEST_TOL0, GSL::SUCCESS)
197
+ TEST_SF(s, "GSL::Sf::bessel_Inu_e", "(30.0, 100.0)", 1.2061548704498434006e+40, TEST_TOL2, GSL::SUCCESS)
198
+ TEST_SF(s, "GSL::Sf::bessel_Inu_e", "(10.0, 1.0)", 2.7529480398368736252e-10, TEST_TOL0, GSL::SUCCESS)
199
+ TEST_SF(s, "GSL::Sf::bessel_Inu_e", "(10.0, 100.0)", 6.498975524720147799e+41, TEST_TOL2, GSL::SUCCESS)
200
+ TEST_SF(s, "GSL::Sf::bessel_Inu_e", "(10.2, 100.0)", 6.368587361287030443e+41, TEST_TOL2, GSL::SUCCESS)
201
+ TEST_SF(s, "GSL::Sf::bessel_Knu_scaled_e", "(0.0001,10.0)", 0.3916319346235421817, TEST_TOL0, GSL::SUCCESS)
202
+ TEST_SF(s, "GSL::Sf::bessel_Knu_scaled_e", "( 1.0, 0.001)", 1000.9967345590684524, TEST_TOL0, GSL::SUCCESS)
203
+ TEST_SF(s, "GSL::Sf::bessel_Knu_scaled_e", "( 1.0, 1.0)", 1.6361534862632582465, TEST_TOL0, GSL::SUCCESS)
204
+ TEST_SF(s, "GSL::Sf::bessel_Knu_scaled_e", "(30.0, 1.0)", 1.2792629867539753925e+40, TEST_TOL0, GSL::SUCCESS)
205
+ TEST_SF(s, "GSL::Sf::bessel_Knu_scaled_e", "(30.0, 100.0)", 10.673443449954850040, TEST_TOL0, GSL::SUCCESS)
206
+ TEST_SF(s, "GSL::Sf::bessel_Knu_scaled_e", "(10.0, 1.0)", 4.912296520990198599e+08, TEST_TOL0, GSL::SUCCESS)
207
+ TEST_SF(s, "GSL::Sf::bessel_Knu_scaled_e", "(10.0, 100.0)", 0.20578687173955779807, TEST_TOL0, GSL::SUCCESS)
208
+ TEST_SF(s, "GSL::Sf::bessel_Knu_scaled_e", "(10.0, 1000.0)", 0.04165905142800565788, TEST_TOL0, GSL::SUCCESS)
209
+ TEST_SF(s, "GSL::Sf::bessel_Knu_scaled_e", "(10.0, 1.0e+8)", 0.00012533147624060789938, TEST_TOL0, GSL::SUCCESS)
210
+ TEST_SF(s, "GSL::Sf::bessel_Knu_scaled_e", "(10.2, 100.0)", 0.20995808355244385075, TEST_TOL0, GSL::SUCCESS)
211
+ TEST_SF(s, "GSL::Sf::bessel_Knu_e", "(0.0001,0.001)", 7.023689431812884141, TEST_TOL0, GSL::SUCCESS)
212
+ TEST_SF(s, "GSL::Sf::bessel_Knu_e", "(0.0001,10.0)", 0.000017780062324654874306, TEST_TOL0, GSL::SUCCESS)
213
+ TEST_SF(s, "GSL::Sf::bessel_Knu_e", "( 1.0, 0.001)", 999.9962381560855743, TEST_TOL0, GSL::SUCCESS)
214
+ TEST_SF(s, "GSL::Sf::bessel_Knu_e", "( 1.0, 1.0)", 0.6019072301972345747, TEST_TOL0, GSL::SUCCESS)
215
+ TEST_SF(s, "GSL::Sf::bessel_Knu_e", "(10.0, 0.001)", 1.8579455483904008064e+38, TEST_TOL0, GSL::SUCCESS)
216
+ TEST_SF(s, "GSL::Sf::bessel_Knu_e", "(10.0, 1.0)", 1.8071328990102945469e+08, TEST_TOL0, GSL::SUCCESS)
217
+ TEST_SF(s, "GSL::Sf::bessel_Knu_e", "(10.0, 100.0)", 7.655427977388100611e-45, TEST_TOL2, GSL::SUCCESS)
218
+ TEST_SF(s, "GSL::Sf::bessel_Knu_e", "(10.2, 100.0)", 7.810600225948217841e-45, TEST_TOL2, GSL::SUCCESS)
219
+ TEST_SF(s, "GSL::Sf::bessel_Knu_e", "(30.0, 1.0)", 4.706145526783626883e+39, TEST_TOL1, GSL::SUCCESS)
220
+ TEST_SF(s, "GSL::Sf::bessel_Knu_e", "(30.0, 100.0)", 3.970602055959398739e-43, TEST_TOL2, GSL::SUCCESS)
221
+ TEST_SF(s, "GSL::Sf::bessel_lnKnu_e", "(0.0001,1.0e-100)", 5.439794449319847, TEST_TOL0, GSL::SUCCESS)
222
+ TEST_SF(s, "GSL::Sf::bessel_lnKnu_e", "(0.0001,0.0001)", 2.232835507214331, TEST_TOL0, GSL::SUCCESS)
223
+ TEST_SF(s, "GSL::Sf::bessel_lnKnu_e", "(0.0001,10.0)", -10.93743282256098, TEST_TOL0, GSL::SUCCESS)
224
+ TEST_SF(s, "GSL::Sf::bessel_lnKnu_e", "( 1.0, 1.0e-100)", 230.2585092994045, TEST_TOL0, GSL::SUCCESS)
225
+ TEST_SF(s, "GSL::Sf::bessel_lnKnu_e", "( 1.0, 1.0e-10)", 23.025850929940456840, TEST_TOL0, GSL::SUCCESS)
226
+ TEST_SF(s, "GSL::Sf::bessel_lnKnu_e", "( 1.0, 0.001)", 6.907751517131146, TEST_TOL0, GSL::SUCCESS)
227
+ TEST_SF(s, "GSL::Sf::bessel_lnKnu_e", "( 1.0, 1.0)", -0.5076519482107523309, TEST_TOL0, GSL::SUCCESS)
228
+ TEST_SF(s, "GSL::Sf::bessel_lnKnu_e", "(30.0, 1.0e-100)", 6999.113586185543475, TEST_TOL0, GSL::SUCCESS)
229
+ TEST_SF(s, "GSL::Sf::bessel_lnKnu_e", "(30.0, 1.0)", 91.34968784026325464, TEST_TOL0, GSL::SUCCESS)
230
+ TEST_SF(s, "GSL::Sf::bessel_lnKnu_e", "(30.0, 100.0)", -97.63224126416760932, TEST_TOL0, GSL::SUCCESS)
231
+ TEST_SF(s, "GSL::Sf::bessel_lnKnu_e", "(100.0, 1.0e-100)", 23453.606706185466825, TEST_TOL0, GSL::SUCCESS)
232
+ TEST_SF(s, "GSL::Sf::bessel_lnKnu_e", "(100.0, 1.0)", 427.7532510250188083, TEST_TOL0, GSL::SUCCESS)
233
+ TEST_SF(s, "GSL::Sf::bessel_lnKnu_e", "(100.0, 100.0)", -55.53422771502921431, TEST_TOL0, GSL::SUCCESS)
234
+ TEST_SF(s, "GSL::Sf::bessel_lnKnu_e", "(1000.0, 1.0e-100)", 236856.183755993135, TEST_TOL0, GSL::SUCCESS)
235
+ TEST_SF(s, "GSL::Sf::bessel_lnKnu_e", "(10000.0, 1.0e-100)", 2.39161558914890695e+06, TEST_TOL0, GSL::SUCCESS)
236
+ TEST_SF(s, "GSL::Sf::bessel_zero_J0_e", "( 1)", 2.404825557695771, TEST_TOL1, GSL::SUCCESS)
237
+ TEST_SF(s, "GSL::Sf::bessel_zero_J0_e", "( 2)", 5.520078110286304, TEST_TOL1, GSL::SUCCESS)
238
+ TEST_SF(s, "GSL::Sf::bessel_zero_J0_e", "(20)", 62.048469190227081, TEST_TOL1, GSL::SUCCESS)
239
+ TEST_SF(s, "GSL::Sf::bessel_zero_J0_e", "(25)", 77.756025630388058, TEST_TOL1, GSL::SUCCESS)
240
+ TEST_SF(s, "GSL::Sf::bessel_zero_J0_e", "(100)", 313.37426607752784, TEST_TOL1, GSL::SUCCESS)
241
+ TEST_SF(s, "GSL::Sf::bessel_zero_J1_e", "( 1)", 3.831705970207512, TEST_TOL2, GSL::SUCCESS)
242
+ TEST_SF(s, "GSL::Sf::bessel_zero_J1_e", "( 2)", 7.015586669815619, TEST_TOL2, GSL::SUCCESS)
243
+ TEST_SF(s, "GSL::Sf::bessel_zero_J1_e", "(20)", 63.61135669848124, TEST_TOL2, GSL::SUCCESS)
244
+ TEST_SF(s, "GSL::Sf::bessel_zero_J1_e", "(25)", 79.32048717547630, TEST_TOL2, GSL::SUCCESS)
245
+ TEST_SF(s, "GSL::Sf::bessel_zero_J1_e", "(100)", 314.9434728377672, TEST_TOL2, GSL::SUCCESS)
246
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "(0.0, 1)", 2.404825557695771, TEST_TOL1, GSL::SUCCESS)
247
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "(0.0, 2)", 5.520078110286304, TEST_TOL1, GSL::SUCCESS)
248
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "(0.0, 20)", 62.048469190227081, TEST_TOL1, GSL::SUCCESS)
249
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "(0.0, 25)", 77.756025630388058, TEST_TOL1, GSL::SUCCESS)
250
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "(0.0, 100)", 313.37426607752784, TEST_TOL1, GSL::SUCCESS)
251
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "( 1.5, 1)", 4.4934094579090641, TEST_TOL1, GSL::SUCCESS)
252
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "( 5.0, 1)", 8.7714838159599540, TEST_TOL1, GSL::SUCCESS)
253
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "( 1.5, 2)", 7.7252518369377072, TEST_TOL1, GSL::SUCCESS)
254
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "( 5.0, 2)", 12.338604197466944, TEST_TOL1, GSL::SUCCESS)
255
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "( 1.5, 3)", 10.904121659428900, TEST_TOL1, GSL::SUCCESS)
256
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "( 5.0, 3)", 15.700174079711671, TEST_TOL1, GSL::SUCCESS)
257
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "( 1.5, 4)", 14.066193912831473, TEST_TOL1, GSL::SUCCESS)
258
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "( 5.0, 4)", 18.980133875179921, TEST_TOL1, GSL::SUCCESS)
259
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "( 1.5, 5)", 17.220755271930768, TEST_TOL1, GSL::SUCCESS)
260
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "( 5.0, 5)", 22.217799896561268, TEST_SQRT_TOL0, GSL::SUCCESS)
261
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "( 8.0, 5)", 26.266814641176644, TEST_SQRT_TOL0, GSL::SUCCESS)
262
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "(20.0, 5)", 41.413065513892636, TEST_SQRT_TOL0, GSL::SUCCESS)
263
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "( 1.5, 6)", 20.371302959287563, TEST_TOL1, GSL::SUCCESS)
264
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "( 5.0, 6)", 25.430341154222704, TEST_TOL1, GSL::SUCCESS)
265
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "( 8.0, 6)", 29.545659670998550, TEST_TOL1, GSL::SUCCESS)
266
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "( 1.5, 7)", 23.519452498689007, TEST_TOL1, GSL::SUCCESS)
267
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "( 5.0, 7)", 28.626618307291138, TEST_TOL1, GSL::SUCCESS)
268
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "( 8.0, 7)", 32.795800037341462, TEST_TOL1, GSL::SUCCESS)
269
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "( 1.5, 8)", 26.666054258812674, TEST_TOL1, GSL::SUCCESS)
270
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "( 5.0, 8)", 31.811716724047763, TEST_TOL1, GSL::SUCCESS)
271
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "(10.0, 8)", 38.761807017881651, TEST_TOL1, GSL::SUCCESS)
272
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "( 1.5, 9)", 29.811598790892959, TEST_TOL1, GSL::SUCCESS)
273
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "( 5.0, 9)", 34.988781294559295, TEST_TOL1, GSL::SUCCESS)
274
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "(10.0, 9)", 42.004190236671805, TEST_TOL1, GSL::SUCCESS)
275
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "( 1.5, 10)", 32.956389039822477, TEST_TOL1, GSL::SUCCESS)
276
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "( 5.0, 10)", 38.159868561967132, TEST_TOL1, GSL::SUCCESS)
277
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "(15.0, 10)", 52.017241278881633, TEST_TOL1, GSL::SUCCESS)
278
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "( 5.0, 11)", 41.326383254047406, TEST_TOL1, GSL::SUCCESS)
279
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "(15.0, 11)", 55.289204146560061, TEST_TOL1, GSL::SUCCESS)
280
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "( 5.0, 12)", 44.4893191232197314, TEST_TOL1, GSL::SUCCESS)
281
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "(15.0, 12)", 58.5458289043850856, TEST_TOL1, GSL::SUCCESS)
282
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "( 5.0, 13)", 47.6493998066970948, TEST_TOL1, GSL::SUCCESS)
283
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "(15.0, 13)", 61.7897598959450550, TEST_TOL1, GSL::SUCCESS)
284
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "( 5.0, 14)", 50.8071652030063595, TEST_TOL1, GSL::SUCCESS)
285
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "(15.0, 14)", 65.0230502510422545, TEST_TOL1, GSL::SUCCESS)
286
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "( 5.0, 15)", 53.9630265583781707, TEST_TOL1, GSL::SUCCESS)
287
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "(15.0, 15)", 68.2473219964207837, TEST_TOL1, GSL::SUCCESS)
288
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "( 5.0, 16)", 57.1173027815042647, TEST_TOL1, GSL::SUCCESS)
289
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "(15.0, 16)", 71.4638758850226630, TEST_TOL1, GSL::SUCCESS)
290
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "( 5.0, 17)", 60.2702450729428077, TEST_TOL1, GSL::SUCCESS)
291
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "(15.0, 17)", 74.6737687121404241, TEST_TOL1, GSL::SUCCESS)
292
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "( 5.0, 18)", 63.4220540458757799, TEST_TOL1, GSL::SUCCESS)
293
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "(15.0, 18)", 77.8778689734863729, TEST_TOL1, GSL::SUCCESS)
294
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "( 5.0, 19)", 66.5728918871182703, TEST_TOL1, GSL::SUCCESS)
295
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "(15.0, 19)", 81.0768977206328326, TEST_TOL1, GSL::SUCCESS)
296
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "( 5.0, 20)", 69.722891161716742, TEST_TOL1, GSL::SUCCESS)
297
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "(15.0, 20)", 84.271459069716442, TEST_TOL1, GSL::SUCCESS)
298
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "( 23.0, 11)", 65.843393469524653, TEST_TOL6, GSL::SUCCESS)
299
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "( 30.0, 11)", 74.797306585175426, TEST_TOL6, GSL::SUCCESS)
300
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "( 32.0, 15)", 90.913637691861741, TEST_TOL6, GSL::SUCCESS)
301
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "( 50.0, 15)", 113.69747988073942, TEST_TOL6, GSL::SUCCESS)
302
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "( 5.0, 22)", 76.020793430591605, TEST_TOL2, GSL::SUCCESS)
303
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "( 10.0, 22)", 83.439189796105756, TEST_TOL3, GSL::SUCCESS)
304
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "( 12.0, 22)", 86.345496520534055, TEST_TOL6, GSL::SUCCESS)
305
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "(100.0, 22)", 199.82150220122519, TEST_TOL4, GSL::SUCCESS)
306
+ TEST_SF(s, "GSL::Sf::bessel_zero_Jnu_e", "(500.0, 22)", 649.34132440891735, TEST_TOL2, GSL::SUCCESS)