gsl 1.15.3 → 1.16.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (446) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +12 -0
  3. data/.travis.yml +24 -0
  4. data/AUTHORS +10 -2
  5. data/COPYING +341 -339
  6. data/ChangeLog +612 -554
  7. data/Gemfile +4 -0
  8. data/README.md +77 -0
  9. data/Rakefile +14 -93
  10. data/THANKS +1 -1
  11. data/examples/blas/blas.rb +1 -1
  12. data/examples/bspline.rb +3 -3
  13. data/examples/complex/functions.rb +4 -4
  14. data/examples/complex/mul.rb +1 -1
  15. data/examples/const/physconst.rb +4 -4
  16. data/examples/const/travel.rb +4 -4
  17. data/examples/eigen/nonsymmv.rb +1 -1
  18. data/examples/eigen/qhoscillator.rb +3 -3
  19. data/examples/fft/radix2.rb +1 -1
  20. data/examples/fft/real-halfcomplex.rb +3 -3
  21. data/examples/fft/real-halfcomplex2.rb +3 -3
  22. data/examples/fit/expfit.rb +1 -1
  23. data/examples/fit/multifit.rb +1 -1
  24. data/examples/fit/ndlinear.rb +44 -44
  25. data/examples/fit/nonlinearfit.rb +1 -1
  26. data/examples/fit/wlinear.rb +3 -3
  27. data/examples/function/function.rb +1 -1
  28. data/examples/function/min.rb +1 -1
  29. data/examples/function/synchrotron.rb +2 -2
  30. data/examples/gallery/koch.rb +1 -1
  31. data/examples/histogram/cauchy.rb +2 -2
  32. data/examples/histogram/exponential.rb +1 -1
  33. data/examples/histogram/histo3d.rb +1 -1
  34. data/examples/histogram/histogram-pdf.rb +2 -2
  35. data/examples/histogram/xexp.rb +1 -1
  36. data/examples/integration/ahmed.rb +2 -2
  37. data/examples/integration/cosmology.rb +7 -7
  38. data/examples/integration/friedmann.rb +4 -4
  39. data/examples/integration/qng.rb +1 -1
  40. data/examples/interp/demo.rb +2 -2
  41. data/examples/linalg/LQ_solve.rb +1 -1
  42. data/examples/linalg/LU.rb +1 -1
  43. data/examples/linalg/LU2.rb +1 -1
  44. data/examples/linalg/LU_narray.rb +1 -1
  45. data/examples/linalg/PTLQ.rb +1 -1
  46. data/examples/linalg/QRPT.rb +1 -1
  47. data/examples/linalg/chol.rb +1 -1
  48. data/examples/linalg/chol_narray.rb +1 -1
  49. data/examples/linalg/complex.rb +1 -1
  50. data/examples/math/elementary.rb +1 -1
  51. data/examples/math/functions.rb +1 -1
  52. data/examples/math/inf_nan.rb +1 -1
  53. data/examples/math/minmax.rb +1 -1
  54. data/examples/math/power.rb +1 -1
  55. data/examples/math/test.rb +1 -1
  56. data/examples/min.rb +1 -1
  57. data/examples/multimin/bundle.rb +1 -1
  58. data/examples/multimin/cqp.rb +17 -17
  59. data/examples/multiroot/fsolver3.rb +1 -1
  60. data/examples/odeiv/binarysystem.rb +12 -12
  61. data/examples/odeiv/demo.rb +3 -3
  62. data/examples/odeiv/frei1.rb +7 -7
  63. data/examples/odeiv/frei2.rb +4 -4
  64. data/examples/odeiv/oscillator.rb +1 -1
  65. data/examples/odeiv/sedov.rb +3 -3
  66. data/examples/odeiv/whitedwarf.rb +11 -11
  67. data/examples/permutation/ex1.rb +2 -2
  68. data/examples/permutation/permutation.rb +1 -1
  69. data/examples/poly/demo.rb +1 -1
  70. data/examples/random/diffusion.rb +1 -1
  71. data/examples/random/generator.rb +2 -2
  72. data/examples/random/randomwalk.rb +3 -3
  73. data/examples/random/rng.rb +1 -1
  74. data/examples/roots/bisection.rb +1 -1
  75. data/examples/roots/brent.rb +1 -1
  76. data/examples/roots/demo.rb +1 -1
  77. data/examples/roots/newton.rb +2 -2
  78. data/examples/roots/recombination.gp +0 -1
  79. data/examples/sf/hyperg.rb +1 -1
  80. data/examples/sf/sphbessel.rb +1 -1
  81. data/examples/sort/sort.rb +1 -1
  82. data/examples/tamu_anova.rb +4 -4
  83. data/examples/vector/add.rb +1 -1
  84. data/examples/vector/decimate.rb +1 -1
  85. data/examples/vector/gnuplot.rb +8 -8
  86. data/examples/vector/vector.rb +2 -2
  87. data/examples/wavelet/wavelet1.rb +1 -1
  88. data/ext/{alf.c → gsl_native/alf.c} +10 -10
  89. data/ext/{array.c → gsl_native/array.c} +70 -159
  90. data/ext/{array_complex.c → gsl_native/array_complex.c} +63 -66
  91. data/ext/{blas.c → gsl_native/blas.c} +2 -3
  92. data/ext/{blas1.c → gsl_native/blas1.c} +35 -36
  93. data/ext/{blas2.c → gsl_native/blas2.c} +57 -62
  94. data/ext/{blas3.c → gsl_native/blas3.c} +57 -58
  95. data/ext/{block.c → gsl_native/block.c} +14 -18
  96. data/ext/{block_source.c → gsl_native/block_source.h} +110 -112
  97. data/ext/gsl_native/bspline.c +122 -0
  98. data/ext/{bundle.c → gsl_native/bundle.c} +0 -0
  99. data/ext/{cdf.c → gsl_native/cdf.c} +79 -93
  100. data/ext/{cheb.c → gsl_native/cheb.c} +78 -89
  101. data/ext/{combination.c → gsl_native/combination.c} +11 -19
  102. data/ext/{common.c → gsl_native/common.c} +9 -41
  103. data/ext/{complex.c → gsl_native/complex.c} +116 -118
  104. data/ext/gsl_native/const.c +331 -0
  105. data/ext/{const_additional.c → gsl_native/const_additional.c} +13 -34
  106. data/ext/gsl_native/cqp.c +283 -0
  107. data/ext/{deriv.c → gsl_native/deriv.c} +25 -33
  108. data/ext/{dht.c → gsl_native/dht.c} +23 -31
  109. data/ext/{diff.c → gsl_native/diff.c} +26 -28
  110. data/ext/{dirac.c → gsl_native/dirac.c} +45 -46
  111. data/ext/{eigen.c → gsl_native/eigen.c} +1044 -1095
  112. data/ext/{error.c → gsl_native/error.c} +18 -18
  113. data/ext/gsl_native/extconf.rb +118 -0
  114. data/ext/{fft.c → gsl_native/fft.c} +197 -204
  115. data/ext/{fit.c → gsl_native/fit.c} +17 -18
  116. data/ext/gsl_native/fresnel.c +312 -0
  117. data/ext/{function.c → gsl_native/function.c} +37 -43
  118. data/ext/{geometry.c → gsl_native/geometry.c} +16 -16
  119. data/ext/{graph.c → gsl_native/graph.c} +39 -89
  120. data/ext/{gsl.c → gsl_native/gsl.c} +12 -33
  121. data/ext/{gsl_narray.c → gsl_native/gsl_narray.c} +20 -30
  122. data/ext/{histogram.c → gsl_native/histogram.c} +133 -160
  123. data/ext/{histogram2d.c → gsl_native/histogram2d.c} +78 -104
  124. data/ext/{histogram3d.c → gsl_native/histogram3d.c} +76 -76
  125. data/ext/{histogram3d_source.c → gsl_native/histogram3d_source.c} +196 -197
  126. data/ext/{histogram_find.c → gsl_native/histogram_find.c} +32 -34
  127. data/ext/{histogram_oper.c → gsl_native/histogram_oper.c} +43 -52
  128. data/ext/{ieee.c → gsl_native/ieee.c} +9 -21
  129. data/{include → ext/gsl_native/include}/rb_gsl.h +4 -26
  130. data/{include → ext/gsl_native/include}/rb_gsl_array.h +15 -39
  131. data/{include → ext/gsl_native/include}/rb_gsl_cheb.h +0 -2
  132. data/{include → ext/gsl_native/include}/rb_gsl_common.h +61 -61
  133. data/{include → ext/gsl_native/include}/rb_gsl_complex.h +1 -1
  134. data/{include → ext/gsl_native/include}/rb_gsl_const.h +0 -6
  135. data/ext/gsl_native/include/rb_gsl_dirac.h +6 -0
  136. data/{include → ext/gsl_native/include}/rb_gsl_eigen.h +1 -1
  137. data/{include → ext/gsl_native/include}/rb_gsl_fft.h +0 -13
  138. data/{include → ext/gsl_native/include}/rb_gsl_fit.h +0 -2
  139. data/{include → ext/gsl_native/include}/rb_gsl_function.h +0 -4
  140. data/{include → ext/gsl_native/include}/rb_gsl_graph.h +2 -4
  141. data/{include → ext/gsl_native/include}/rb_gsl_histogram.h +8 -8
  142. data/{include → ext/gsl_native/include}/rb_gsl_histogram3d.h +50 -50
  143. data/{include → ext/gsl_native/include}/rb_gsl_integration.h +1 -1
  144. data/{include → ext/gsl_native/include}/rb_gsl_interp.h +0 -5
  145. data/{include → ext/gsl_native/include}/rb_gsl_linalg.h +2 -6
  146. data/{include → ext/gsl_native/include}/rb_gsl_math.h +0 -6
  147. data/{include → ext/gsl_native/include}/rb_gsl_odeiv.h +0 -3
  148. data/{include → ext/gsl_native/include}/rb_gsl_poly.h +3 -7
  149. data/{include → ext/gsl_native/include}/rb_gsl_rational.h +1 -8
  150. data/{include → ext/gsl_native/include}/rb_gsl_rng.h +0 -1
  151. data/{include → ext/gsl_native/include}/rb_gsl_root.h +1 -1
  152. data/{include → ext/gsl_native/include}/rb_gsl_sf.h +39 -48
  153. data/{include → ext/gsl_native/include}/rb_gsl_statistics.h +1 -1
  154. data/{include → ext/gsl_native/include}/rb_gsl_tensor.h +0 -2
  155. data/{include → ext/gsl_native/include}/rb_gsl_with_narray.h +3 -1
  156. data/{include → ext/gsl_native/include}/templates_off.h +0 -0
  157. data/{include → ext/gsl_native/include}/templates_on.h +1 -1
  158. data/ext/{integration.c → gsl_native/integration.c} +164 -189
  159. data/ext/{interp.c → gsl_native/interp.c} +25 -38
  160. data/ext/gsl_native/jacobi.c +733 -0
  161. data/ext/{linalg.c → gsl_native/linalg.c} +462 -589
  162. data/ext/{linalg_complex.c → gsl_native/linalg_complex.c} +93 -106
  163. data/ext/{math.c → gsl_native/math.c} +48 -67
  164. data/ext/{matrix.c → gsl_native/matrix.c} +13 -16
  165. data/ext/{matrix_complex.c → gsl_native/matrix_complex.c} +119 -123
  166. data/ext/{matrix_double.c → gsl_native/matrix_double.c} +79 -82
  167. data/ext/{matrix_int.c → gsl_native/matrix_int.c} +53 -54
  168. data/ext/{matrix_source.c → gsl_native/matrix_source.h} +292 -318
  169. data/ext/{min.c → gsl_native/min.c} +45 -76
  170. data/ext/{monte.c → gsl_native/monte.c} +50 -64
  171. data/ext/{multifit.c → gsl_native/multifit.c} +142 -151
  172. data/ext/{multimin.c → gsl_native/multimin.c} +64 -92
  173. data/ext/{multimin_fsdf.c → gsl_native/multimin_fsdf.c} +16 -16
  174. data/ext/{multiroots.c → gsl_native/multiroots.c} +73 -76
  175. data/ext/{multiset.c → gsl_native/multiset.c} +4 -8
  176. data/ext/{ndlinear.c → gsl_native/ndlinear.c} +320 -321
  177. data/ext/{nmf.c → gsl_native/nmf.c} +11 -11
  178. data/ext/{nmf_wrap.c → gsl_native/nmf_wrap.c} +1 -1
  179. data/ext/{ntuple.c → gsl_native/ntuple.c} +23 -23
  180. data/ext/{odeiv.c → gsl_native/odeiv.c} +101 -116
  181. data/ext/gsl_native/ool.c +879 -0
  182. data/ext/{permutation.c → gsl_native/permutation.c} +39 -37
  183. data/ext/{poly.c → gsl_native/poly.c} +10 -13
  184. data/ext/{poly2.c → gsl_native/poly2.c} +16 -16
  185. data/ext/{poly_source.c → gsl_native/poly_source.h} +249 -293
  186. data/ext/{qrng.c → gsl_native/qrng.c} +9 -20
  187. data/ext/{randist.c → gsl_native/randist.c} +222 -247
  188. data/ext/{rational.c → gsl_native/rational.c} +12 -12
  189. data/ext/{rng.c → gsl_native/rng.c} +30 -47
  190. data/ext/{root.c → gsl_native/root.c} +47 -48
  191. data/ext/{sf.c → gsl_native/sf.c} +196 -244
  192. data/ext/{sf_airy.c → gsl_native/sf_airy.c} +2 -2
  193. data/ext/{sf_bessel.c → gsl_native/sf_bessel.c} +7 -7
  194. data/ext/{sf_clausen.c → gsl_native/sf_clausen.c} +1 -1
  195. data/ext/{sf_coulomb.c → gsl_native/sf_coulomb.c} +40 -40
  196. data/ext/{sf_coupling.c → gsl_native/sf_coupling.c} +30 -30
  197. data/ext/{sf_dawson.c → gsl_native/sf_dawson.c} +1 -1
  198. data/ext/{sf_debye.c → gsl_native/sf_debye.c} +1 -10
  199. data/ext/{sf_dilog.c → gsl_native/sf_dilog.c} +1 -1
  200. data/ext/{sf_elementary.c → gsl_native/sf_elementary.c} +3 -3
  201. data/ext/{sf_ellint.c → gsl_native/sf_ellint.c} +43 -43
  202. data/ext/{sf_elljac.c → gsl_native/sf_elljac.c} +3 -3
  203. data/ext/{sf_erfc.c → gsl_native/sf_erfc.c} +1 -5
  204. data/ext/{sf_exp.c → gsl_native/sf_exp.c} +3 -3
  205. data/ext/{sf_expint.c → gsl_native/sf_expint.c} +2 -12
  206. data/ext/{sf_fermi_dirac.c → gsl_native/sf_fermi_dirac.c} +1 -1
  207. data/ext/{sf_gamma.c → gsl_native/sf_gamma.c} +2 -6
  208. data/ext/{sf_gegenbauer.c → gsl_native/sf_gegenbauer.c} +1 -1
  209. data/ext/{sf_hyperg.c → gsl_native/sf_hyperg.c} +1 -1
  210. data/ext/{sf_laguerre.c → gsl_native/sf_laguerre.c} +4 -4
  211. data/ext/{sf_lambert.c → gsl_native/sf_lambert.c} +1 -1
  212. data/ext/{sf_legendre.c → gsl_native/sf_legendre.c} +1 -1
  213. data/ext/{sf_log.c → gsl_native/sf_log.c} +4 -4
  214. data/ext/gsl_native/sf_mathieu.c +235 -0
  215. data/ext/{sf_power.c → gsl_native/sf_power.c} +1 -1
  216. data/ext/{sf_psi.c → gsl_native/sf_psi.c} +3 -12
  217. data/ext/{sf_synchrotron.c → gsl_native/sf_synchrotron.c} +1 -1
  218. data/ext/{sf_transport.c → gsl_native/sf_transport.c} +1 -1
  219. data/ext/{sf_trigonometric.c → gsl_native/sf_trigonometric.c} +4 -4
  220. data/ext/{sf_zeta.c → gsl_native/sf_zeta.c} +1 -5
  221. data/ext/{signal.c → gsl_native/signal.c} +63 -68
  222. data/ext/{siman.c → gsl_native/siman.c} +45 -49
  223. data/ext/{sort.c → gsl_native/sort.c} +6 -7
  224. data/ext/{spline.c → gsl_native/spline.c} +28 -46
  225. data/ext/{stats.c → gsl_native/stats.c} +105 -118
  226. data/ext/{sum.c → gsl_native/sum.c} +34 -34
  227. data/ext/{tamu_anova.c → gsl_native/tamu_anova.c} +1 -1
  228. data/ext/{tensor.c → gsl_native/tensor.c} +8 -11
  229. data/ext/{tensor_source.c → gsl_native/tensor_source.h} +147 -148
  230. data/ext/{vector.c → gsl_native/vector.c} +11 -14
  231. data/ext/{vector_complex.c → gsl_native/vector_complex.c} +179 -184
  232. data/ext/{vector_double.c → gsl_native/vector_double.c} +178 -183
  233. data/ext/{vector_int.c → gsl_native/vector_int.c} +27 -29
  234. data/ext/{vector_source.c → gsl_native/vector_source.h} +428 -443
  235. data/ext/{wavelet.c → gsl_native/wavelet.c} +224 -246
  236. data/gsl.gemspec +29 -0
  237. data/lib/gsl.rb +8 -3
  238. data/lib/gsl/gnuplot.rb +3 -3
  239. data/lib/gsl/oper.rb +35 -60
  240. data/lib/gsl/version.rb +3 -0
  241. data/lib/rbgsl.rb +1 -3
  242. data/rdoc/alf.rdoc +5 -5
  243. data/rdoc/blas.rdoc +9 -9
  244. data/rdoc/bspline.rdoc +17 -17
  245. data/rdoc/changes.rdoc +4 -9
  246. data/rdoc/cheb.rdoc +25 -25
  247. data/rdoc/cholesky_complex.rdoc +21 -21
  248. data/rdoc/combi.rdoc +37 -37
  249. data/rdoc/complex.rdoc +22 -22
  250. data/rdoc/const.rdoc +47 -47
  251. data/rdoc/dht.rdoc +49 -49
  252. data/rdoc/diff.rdoc +42 -42
  253. data/rdoc/ehandling.rdoc +6 -6
  254. data/rdoc/eigen.rdoc +153 -153
  255. data/rdoc/fft.rdoc +146 -146
  256. data/rdoc/fit.rdoc +109 -109
  257. data/rdoc/function.rdoc +11 -11
  258. data/rdoc/graph.rdoc +17 -17
  259. data/rdoc/hist.rdoc +103 -103
  260. data/rdoc/hist2d.rdoc +42 -42
  261. data/rdoc/hist3d.rdoc +9 -9
  262. data/rdoc/integration.rdoc +110 -110
  263. data/rdoc/interp.rdoc +71 -71
  264. data/rdoc/intro.rdoc +8 -8
  265. data/rdoc/linalg.rdoc +188 -188
  266. data/rdoc/linalg_complex.rdoc +1 -1
  267. data/rdoc/math.rdoc +58 -58
  268. data/rdoc/matrix.rdoc +275 -275
  269. data/rdoc/min.rdoc +57 -57
  270. data/rdoc/monte.rdoc +22 -22
  271. data/rdoc/multimin.rdoc +95 -95
  272. data/rdoc/multiroot.rdoc +80 -80
  273. data/rdoc/narray.rdoc +32 -32
  274. data/rdoc/ndlinear.rdoc +54 -54
  275. data/rdoc/nonlinearfit.rdoc +100 -100
  276. data/rdoc/ntuple.rdoc +31 -31
  277. data/rdoc/odeiv.rdoc +88 -88
  278. data/rdoc/perm.rdoc +90 -90
  279. data/rdoc/poly.rdoc +66 -66
  280. data/rdoc/qrng.rdoc +21 -21
  281. data/rdoc/randist.rdoc +82 -82
  282. data/rdoc/ref.rdoc +57 -57
  283. data/rdoc/rng.rdoc +85 -85
  284. data/rdoc/roots.rdoc +57 -57
  285. data/rdoc/sf.rdoc +428 -428
  286. data/rdoc/siman.rdoc +19 -19
  287. data/rdoc/sort.rdoc +30 -30
  288. data/rdoc/start.rdoc +8 -8
  289. data/rdoc/stats.rdoc +52 -52
  290. data/rdoc/sum.rdoc +12 -12
  291. data/rdoc/tensor.rdoc +31 -31
  292. data/rdoc/tut.rdoc +1 -1
  293. data/rdoc/use.rdoc +39 -39
  294. data/rdoc/vector.rdoc +188 -188
  295. data/rdoc/vector_complex.rdoc +24 -24
  296. data/rdoc/wavelet.rdoc +46 -46
  297. data/test/gsl/blas_test.rb +79 -0
  298. data/test/gsl/bspline_test.rb +63 -0
  299. data/test/gsl/cdf_test.rb +1512 -0
  300. data/test/gsl/cheb_test.rb +80 -0
  301. data/test/gsl/combination_test.rb +100 -0
  302. data/test/gsl/complex_test.rb +20 -0
  303. data/test/gsl/const_test.rb +29 -0
  304. data/test/gsl/deriv_test.rb +62 -0
  305. data/test/gsl/dht_test.rb +79 -0
  306. data/test/gsl/diff_test.rb +53 -0
  307. data/test/gsl/eigen_test.rb +563 -0
  308. data/test/gsl/err_test.rb +23 -0
  309. data/test/gsl/fit_test.rb +101 -0
  310. data/test/gsl/histo_test.rb +14 -0
  311. data/test/gsl/index_test.rb +61 -0
  312. data/test/gsl/integration_test.rb +274 -0
  313. data/test/gsl/interp_test.rb +27 -0
  314. data/test/gsl/linalg_test.rb +463 -0
  315. data/test/gsl/matrix_nmf_test.rb +37 -0
  316. data/test/gsl/matrix_test.rb +98 -0
  317. data/test/gsl/min_test.rb +89 -0
  318. data/test/gsl/monte_test.rb +77 -0
  319. data/test/gsl/multifit_test.rb +753 -0
  320. data/test/gsl/multimin_test.rb +157 -0
  321. data/test/gsl/multiroot_test.rb +135 -0
  322. data/test/gsl/multiset_test.rb +52 -0
  323. data/test/gsl/odeiv_test.rb +275 -0
  324. data/test/gsl/oper_test.rb +98 -0
  325. data/test/gsl/poly_test.rb +338 -0
  326. data/test/gsl/qrng_test.rb +94 -0
  327. data/test/gsl/quartic_test.rb +28 -0
  328. data/test/gsl/randist_test.rb +122 -0
  329. data/test/gsl/rng_test.rb +303 -0
  330. data/test/gsl/roots_test.rb +78 -0
  331. data/test/gsl/sf_test.rb +2079 -0
  332. data/test/gsl/stats_test.rb +122 -0
  333. data/test/gsl/sum_test.rb +69 -0
  334. data/test/gsl/tensor_test.rb +396 -0
  335. data/test/gsl/vector_test.rb +223 -0
  336. data/test/gsl/wavelet_test.rb +130 -0
  337. data/test/gsl_test.rb +321 -0
  338. data/test/test_helper.rb +42 -0
  339. data/uncrustify.cfg +1693 -0
  340. metadata +337 -378
  341. data/README +0 -32
  342. data/VERSION +0 -1
  343. data/ext/bspline.c +0 -130
  344. data/ext/const.c +0 -673
  345. data/ext/cqp.c +0 -283
  346. data/ext/extconf.rb +0 -295
  347. data/ext/fcmp.c +0 -66
  348. data/ext/fresnel.c +0 -312
  349. data/ext/jacobi.c +0 -739
  350. data/ext/ool.c +0 -879
  351. data/ext/oper_complex_source.c +0 -253
  352. data/ext/sf_mathieu.c +0 -238
  353. data/include/rb_gsl_config.h +0 -62
  354. data/include/rb_gsl_dirac.h +0 -13
  355. data/rdoc/index.rdoc +0 -62
  356. data/rdoc/rngextra.rdoc +0 -11
  357. data/rdoc/screenshot.rdoc +0 -40
  358. data/setup.rb +0 -1585
  359. data/tests/blas/amax.rb +0 -14
  360. data/tests/blas/asum.rb +0 -16
  361. data/tests/blas/axpy.rb +0 -25
  362. data/tests/blas/copy.rb +0 -23
  363. data/tests/blas/dot.rb +0 -23
  364. data/tests/bspline.rb +0 -53
  365. data/tests/cdf.rb +0 -1388
  366. data/tests/cheb.rb +0 -112
  367. data/tests/combination.rb +0 -123
  368. data/tests/complex.rb +0 -17
  369. data/tests/const.rb +0 -24
  370. data/tests/deriv.rb +0 -85
  371. data/tests/dht/dht1.rb +0 -17
  372. data/tests/dht/dht2.rb +0 -23
  373. data/tests/dht/dht3.rb +0 -23
  374. data/tests/dht/dht4.rb +0 -23
  375. data/tests/diff.rb +0 -78
  376. data/tests/eigen/eigen.rb +0 -220
  377. data/tests/eigen/gen.rb +0 -105
  378. data/tests/eigen/genherm.rb +0 -66
  379. data/tests/eigen/gensymm.rb +0 -68
  380. data/tests/eigen/nonsymm.rb +0 -53
  381. data/tests/eigen/nonsymmv.rb +0 -53
  382. data/tests/eigen/symm-herm.rb +0 -74
  383. data/tests/err.rb +0 -58
  384. data/tests/fit.rb +0 -124
  385. data/tests/gsl_test.rb +0 -118
  386. data/tests/gsl_test2.rb +0 -110
  387. data/tests/histo.rb +0 -12
  388. data/tests/integration/integration1.rb +0 -72
  389. data/tests/integration/integration2.rb +0 -71
  390. data/tests/integration/integration3.rb +0 -71
  391. data/tests/integration/integration4.rb +0 -71
  392. data/tests/interp.rb +0 -45
  393. data/tests/linalg/HH.rb +0 -64
  394. data/tests/linalg/LU.rb +0 -47
  395. data/tests/linalg/QR.rb +0 -77
  396. data/tests/linalg/SV.rb +0 -24
  397. data/tests/linalg/TDN.rb +0 -116
  398. data/tests/linalg/TDS.rb +0 -122
  399. data/tests/linalg/bidiag.rb +0 -73
  400. data/tests/linalg/cholesky.rb +0 -20
  401. data/tests/linalg/linalg.rb +0 -158
  402. data/tests/matrix/matrix_complex_test.rb +0 -36
  403. data/tests/matrix/matrix_nmf_test.rb +0 -39
  404. data/tests/matrix/matrix_test.rb +0 -48
  405. data/tests/min.rb +0 -99
  406. data/tests/monte/miser.rb +0 -31
  407. data/tests/monte/vegas.rb +0 -45
  408. data/tests/multifit/test_2dgauss.rb +0 -112
  409. data/tests/multifit/test_brown.rb +0 -90
  410. data/tests/multifit/test_enso.rb +0 -246
  411. data/tests/multifit/test_filip.rb +0 -155
  412. data/tests/multifit/test_gauss.rb +0 -97
  413. data/tests/multifit/test_longley.rb +0 -110
  414. data/tests/multifit/test_multifit.rb +0 -52
  415. data/tests/multimin.rb +0 -139
  416. data/tests/multiroot.rb +0 -131
  417. data/tests/multiset.rb +0 -52
  418. data/tests/narray/blas_dnrm2.rb +0 -20
  419. data/tests/odeiv.rb +0 -353
  420. data/tests/poly/poly.rb +0 -290
  421. data/tests/poly/special.rb +0 -65
  422. data/tests/qrng.rb +0 -131
  423. data/tests/quartic.rb +0 -29
  424. data/tests/randist.rb +0 -134
  425. data/tests/rng.rb +0 -305
  426. data/tests/roots.rb +0 -76
  427. data/tests/run-test.sh +0 -17
  428. data/tests/sf/gsl_test_sf.rb +0 -249
  429. data/tests/sf/test_airy.rb +0 -83
  430. data/tests/sf/test_bessel.rb +0 -306
  431. data/tests/sf/test_coulomb.rb +0 -17
  432. data/tests/sf/test_dilog.rb +0 -25
  433. data/tests/sf/test_gamma.rb +0 -209
  434. data/tests/sf/test_hyperg.rb +0 -356
  435. data/tests/sf/test_legendre.rb +0 -227
  436. data/tests/sf/test_mathieu.rb +0 -59
  437. data/tests/sf/test_mode.rb +0 -19
  438. data/tests/sf/test_sf.rb +0 -839
  439. data/tests/stats.rb +0 -174
  440. data/tests/stats_mt.rb +0 -16
  441. data/tests/sum.rb +0 -98
  442. data/tests/sys.rb +0 -323
  443. data/tests/tensor.rb +0 -419
  444. data/tests/vector/vector_complex_test.rb +0 -101
  445. data/tests/vector/vector_test.rb +0 -141
  446. data/tests/wavelet.rb +0 -142
@@ -8,9 +8,9 @@
8
8
  This library is distributed in the hope that it will be useful, but
9
9
  WITHOUT ANY WARRANTY.
10
10
  */
11
- #include "rb_gsl_config.h"
12
- #include "rb_gsl_rational.h"
13
- #include "rb_gsl_array.h"
11
+
12
+ #include "include/rb_gsl_rational.h"
13
+ #include "include/rb_gsl_array.h"
14
14
 
15
15
  VALUE cgsl_rational;
16
16
  static gsl_rational* gsl_rational_div_poly(const gsl_rational *r1, const gsl_poly *p);
@@ -199,7 +199,7 @@ static VALUE rb_gsl_poly_make_rational(VALUE obj, VALUE other)
199
199
  case T_ARRAY:
200
200
  p2 = gsl_vector_alloc(RARRAY_LEN(other));
201
201
  for (i = 0; i < p2->size; i++)
202
- gsl_vector_set(p2, i, NUM2DBL(rb_ary_entry(other, i)));
202
+ gsl_vector_set(p2, i, NUM2DBL(rb_ary_entry(other, i)));
203
203
  rnew = gsl_rational_new(p, p2);
204
204
  gsl_vector_free(p2);
205
205
  break;
@@ -210,8 +210,8 @@ static VALUE rb_gsl_poly_make_rational(VALUE obj, VALUE other)
210
210
  return Data_Wrap_Struct(cgsl_poly, 0, gsl_vector_free, p2);
211
211
  break;
212
212
  default:
213
- rb_raise(rb_eTypeError, "wrong argument type %s",
214
- rb_class2name(CLASS_OF(other)));
213
+ rb_raise(rb_eTypeError, "wrong argument type %s",
214
+ rb_class2name(CLASS_OF(other)));
215
215
  break;
216
216
  }
217
217
  }
@@ -280,7 +280,7 @@ static VALUE rb_gsl_rational_uminus(VALUE obj)
280
280
  if (RATIONAL_P(obj)) {
281
281
  Data_Get_Struct(obj, gsl_rational, r);
282
282
  rnew = gsl_rational_new(r->pnum, r->pden);
283
- for (i = 0; i < rnew->pnum->size; i++)
283
+ for (i = 0; i < rnew->pnum->size; i++)
284
284
  gsl_vector_set(rnew->pnum, i, -gsl_vector_get(r->pnum, i));
285
285
  return Data_Wrap_Struct(cgsl_rational, gsl_rational_mark, gsl_rational_free, rnew);
286
286
  } else {
@@ -342,7 +342,7 @@ static VALUE rb_gsl_rational_div(VALUE obj, VALUE other)
342
342
  case T_ARRAY:
343
343
  p = gsl_vector_alloc(RARRAY_LEN(other));
344
344
  for (i = 0; i < p->size; i++)
345
- gsl_vector_set(p, i, NUM2DBL(rb_ary_entry(other, i)));
345
+ gsl_vector_set(p, i, NUM2DBL(rb_ary_entry(other, i)));
346
346
  rnew = gsl_rational_div_poly(r, p);
347
347
  gsl_vector_free(p);
348
348
  break;
@@ -352,8 +352,8 @@ static VALUE rb_gsl_rational_div(VALUE obj, VALUE other)
352
352
  gsl_vector_scale(rnew->pnum, 1.0/NUM2DBL(other));
353
353
  break;
354
354
  default:
355
- rb_raise(rb_eTypeError, "wrong argument type %s",
356
- rb_class2name(CLASS_OF(other)));
355
+ rb_raise(rb_eTypeError, "wrong argument type %s",
356
+ rb_class2name(CLASS_OF(other)));
357
357
  break;
358
358
  }
359
359
  }
@@ -407,8 +407,8 @@ static VALUE rb_gsl_rational_coerce(VALUE obj, VALUE other)
407
407
  ptmp = gsl_vector_alloc(1);
408
408
  gsl_vector_set(ptmp, 0, 1.0);
409
409
  r = gsl_rational_new2(p, ptmp);
410
- return rb_ary_new3(2,
411
- Data_Wrap_Struct(cgsl_rational, gsl_rational_mark, gsl_rational_free, r), obj);
410
+ return rb_ary_new3(2,
411
+ Data_Wrap_Struct(cgsl_rational, gsl_rational_mark, gsl_rational_free, r), obj);
412
412
  }
413
413
 
414
414
  static VALUE rb_gsl_rational_zero(VALUE obj)
@@ -9,13 +9,12 @@
9
9
  WITHOUT ANY WARRANTY.
10
10
  */
11
11
 
12
- /*
12
+ /*
13
13
  Document-class: <i>GSL::Rng</i>
14
14
  Random number generator
15
15
  */
16
16
 
17
- #include "rb_gsl_config.h"
18
- #include "rb_gsl_rng.h"
17
+ #include "include/rb_gsl_rng.h"
19
18
  #ifdef HAVE_RNGEXTRA_RNGEXTRA_H
20
19
  #include "rngextra/rngextra.h"
21
20
  #endif
@@ -25,22 +24,22 @@ VALUE cgsl_rng;
25
24
 
26
25
  enum rb_gsl_rng_generator {
27
26
  GSL_RNG_DEFAULT,
28
- GSL_RNG_MT19937, GSL_RNG_MT19937_1999, GSL_RNG_MT19937_1998,
29
- GSL_RNG_RANLXS0, GSL_RNG_RANLXS1, GSL_RNG_RANLXS2,
30
- GSL_RNG_RANLXD1, GSL_RNG_RANLXD2,
27
+ GSL_RNG_MT19937, GSL_RNG_MT19937_1999, GSL_RNG_MT19937_1998,
28
+ GSL_RNG_RANLXS0, GSL_RNG_RANLXS1, GSL_RNG_RANLXS2,
29
+ GSL_RNG_RANLXD1, GSL_RNG_RANLXD2,
31
30
  GSL_RNG_RANLUX, GSL_RNG_RANLUX389,
32
- GSL_RNG_CMRG, GSL_RNG_MRG,
31
+ GSL_RNG_CMRG, GSL_RNG_MRG,
33
32
  GSL_RNG_TAUS, GSL_RNG_TAUS2, GSL_RNG_TAUS113, GSL_RNG_GFSR4,
34
- GSL_RNG_RAND,
33
+ GSL_RNG_RAND,
35
34
  GSL_RNG_RANDOM_BSD, GSL_RNG_RANDOM_GLIBC2,
36
- GSL_RNG_RANDOM8_GLIBC2, GSL_RNG_RANDOM32_GLIBC2, GSL_RNG_RANDOM64_GLIBC2,
35
+ GSL_RNG_RANDOM8_GLIBC2, GSL_RNG_RANDOM32_GLIBC2, GSL_RNG_RANDOM64_GLIBC2,
37
36
  GSL_RNG_RANDOM128_GLIBC2, GSL_RNG_RANDOM256_GLIBC2,
38
- GSL_RNG_RANDOM8_BSD, GSL_RNG_RANDOM32_BSD, GSL_RNG_RANDOM64_BSD,
37
+ GSL_RNG_RANDOM8_BSD, GSL_RNG_RANDOM32_BSD, GSL_RNG_RANDOM64_BSD,
39
38
  GSL_RNG_RANDOM128_BSD, GSL_RNG_RANDOM256_BSD,
40
- GSL_RNG_RANDOM_LIBC5, GSL_RNG_RANDOM8_LIBC5, GSL_RNG_RANDOM32_LIBC5,
41
- GSL_RNG_RANDOM64_LIBC5, GSL_RNG_RANDOM128_LIBC5, GSL_RNG_RANDOM256_LIBC5,
42
- GSL_RNG_RAND48,
43
- GSL_RNG_RAN0, GSL_RNG_RAN1, GSL_RNG_RAN2, GSL_RNG_RAN3,
39
+ GSL_RNG_RANDOM_LIBC5, GSL_RNG_RANDOM8_LIBC5, GSL_RNG_RANDOM32_LIBC5,
40
+ GSL_RNG_RANDOM64_LIBC5, GSL_RNG_RANDOM128_LIBC5, GSL_RNG_RANDOM256_LIBC5,
41
+ GSL_RNG_RAND48,
42
+ GSL_RNG_RAN0, GSL_RNG_RAN1, GSL_RNG_RAN2, GSL_RNG_RAN3,
44
43
  GSL_RNG_RANF, GSL_RNG_RANMAR, GSL_RNG_R250, GSL_RNG_TT800, GSL_RNG_VAX,
45
44
  GSL_RNG_TRANSPUTER, GSL_RNG_RANDU, GSL_RNG_MINSTD,
46
45
  GSL_RNG_UNI, GSL_RNG_UNI32, GSL_RNG_SLATEC, GSL_RNG_ZUF,
@@ -71,16 +70,16 @@ static VALUE rb_gsl_rng_alloc(int argc, VALUE *argv, VALUE klass)
71
70
  T = gsl_rng_default;
72
71
  seed = gsl_rng_default_seed;
73
72
  } else {
74
- T = get_gsl_rng_type(argv[0]);
73
+ T = get_gsl_rng_type(argv[0]);
75
74
  if (argc == 1) {
76
75
  seed = gsl_rng_default_seed;
77
76
  } else if (argc == 2) {
78
77
  itype = TYPE(argv[1]);
79
78
  if (itype == T_FIXNUM || itype == T_BIGNUM) {
80
- seed = FIX2INT(argv[1]);
79
+ seed = FIX2INT(argv[1]);
81
80
  } else {
82
- rb_raise(rb_eArgError,
83
- "bad argument 2, seed must be an integer.");
81
+ rb_raise(rb_eArgError,
82
+ "bad argument 2, seed must be an integer.");
84
83
  }
85
84
  } else {
86
85
  rb_raise(rb_eArgError, "too many arguments (%d for 0 or 1)", argc);
@@ -111,7 +110,6 @@ static const gsl_rng_type* get_gsl_rng_type_name(char *name)
111
110
  {
112
111
  if (str_tail_grep(name, "default") == 0) return gsl_rng_default;
113
112
  else if (str_tail_grep(name, "mt19937") == 0) return gsl_rng_mt19937;
114
- #ifdef GSL_1_1_LATER
115
113
  else if (str_tail_grep(name, "borosh13") == 0) return gsl_rng_borosh13;
116
114
  else if (str_tail_grep(name, "coveyou") == 0) return gsl_rng_coveyou;
117
115
  else if (str_tail_grep(name, "fishman18") == 0) return gsl_rng_fishman18;
@@ -121,15 +119,12 @@ static const gsl_rng_type* get_gsl_rng_type_name(char *name)
121
119
  else if (str_tail_grep(name, "waterman14") == 0) return gsl_rng_waterman14;
122
120
  else if (str_tail_grep(name, "knuthran") == 0) return gsl_rng_knuthran;
123
121
  else if (str_tail_grep(name, "knuthran2") == 0) return gsl_rng_knuthran2;
124
- #endif
125
- #ifdef GSL_1_2_LATER
126
122
  else if (str_tail_grep(name, "mt19937_1999") == 0) return gsl_rng_mt19937_1999;
127
123
  else if (str_tail_grep(name, "mt19937-1999") == 0) return gsl_rng_mt19937_1999;
128
- else if (str_tail_grep(name, "mt19937_1998") == 0) return gsl_rng_mt19937_1998;
129
- else if (str_tail_grep(name, "mt19937-1998") == 0) return gsl_rng_mt19937_1998;
124
+ else if (str_tail_grep(name, "mt19937_1998") == 0) return gsl_rng_mt19937_1998;
125
+ else if (str_tail_grep(name, "mt19937-1998") == 0) return gsl_rng_mt19937_1998;
130
126
  else if (str_tail_grep(name, "taus113") == 0) return gsl_rng_taus113;
131
127
  else if (str_tail_grep(name, "taus2") == 0) return gsl_rng_taus2;
132
- #endif
133
128
  else if (str_tail_grep(name, "mt19937") == 0) return gsl_rng_mt19937;
134
129
  else if (str_tail_grep(name, "ranlxs0") == 0) return gsl_rng_ranlxs0;
135
130
  else if (str_tail_grep(name, "ranlxs1") == 0) return gsl_rng_ranlxs1;
@@ -148,7 +143,7 @@ static const gsl_rng_type* get_gsl_rng_type_name(char *name)
148
143
  else if (str_tail_grep(name, "random32_libc5") == 0) return gsl_rng_random32_libc5;
149
144
  else if (str_tail_grep(name, "random64_libc5") == 0) return gsl_rng_random64_libc5;
150
145
  else if (str_tail_grep(name, "random128_libc5") == 0) return gsl_rng_random128_libc5;
151
- else if (str_tail_grep(name, "random256_libc5") == 0) return gsl_rng_random256_libc5;
146
+ else if (str_tail_grep(name, "random256_libc5") == 0) return gsl_rng_random256_libc5;
152
147
  else if (str_tail_grep(name, "random-libc5") == 0) return gsl_rng_random_libc5;
153
148
  else if (str_tail_grep(name, "random8-libc5") == 0) return gsl_rng_random8_libc5;
154
149
  else if (str_tail_grep(name, "random32-libc5") == 0) return gsl_rng_random32_libc5;
@@ -202,18 +197,16 @@ static const gsl_rng_type* get_gsl_rng_type_name(char *name)
202
197
  else if (str_tail_grep(name, "rngextra-rng1") == 0) return rngextra_rng1;
203
198
  else if (str_tail_grep(name, "rngextra-rng2") == 0) return rngextra_rng2;
204
199
  #else
205
- else if (str_tail_grep(name, "rngextra_rng1")*str_tail_grep(name, "rngextra_rng2") == 0)
200
+ else if (str_tail_grep(name, "rngextra_rng1")*str_tail_grep(name, "rngextra_rng2") == 0)
206
201
  rb_raise(rb_eNotImpError, "Install the rngextra package found at <http://www.network-theory.co.uk/download/rngextra/>.");
207
- else if (str_tail_grep(name, "rngextra_rng2")*str_tail_grep(name, "rngextra_rng2") == 0)
202
+ else if (str_tail_grep(name, "rngextra_rng2")*str_tail_grep(name, "rngextra_rng2") == 0)
208
203
  rb_raise(rb_eNotImpError, "Install the rngextra package found at <http://www.network-theory.co.uk/download/rngextra/>.");
209
- else if (str_tail_grep(name, "rngextra-rng1")*str_tail_grep(name, "rngextra_rng2") == 0)
204
+ else if (str_tail_grep(name, "rngextra-rng1")*str_tail_grep(name, "rngextra_rng2") == 0)
210
205
  rb_raise(rb_eNotImpError, "Install the rngextra package found at <http://www.network-theory.co.uk/download/rngextra/>.");
211
- else if (str_tail_grep(name, "rngextra-rng2")*str_tail_grep(name, "rngextra_rng2") == 0)
206
+ else if (str_tail_grep(name, "rngextra-rng2")*str_tail_grep(name, "rngextra_rng2") == 0)
212
207
  rb_raise(rb_eNotImpError, "Install the rngextra package found at <http://www.network-theory.co.uk/download/rngextra/>.");
213
208
  #endif
214
- #ifdef GSL_1_9_LATER
215
209
  else if (str_tail_grep(name, "knuthran2002") == 0) return gsl_rng_knuthran2002;
216
- #endif
217
210
  else
218
211
  rb_raise(rb_eArgError, "unknown generator type \"%s\"", name);
219
212
  }
@@ -225,12 +218,10 @@ static const gsl_rng_type* get_gsl_rng_type_int(int itype)
225
218
  switch (itype) {
226
219
  case GSL_RNG_DEFAULT: T = gsl_rng_default; break;
227
220
  case GSL_RNG_MT19937: T = gsl_rng_mt19937; break; /* default */
228
- #ifdef GSL_1_2_LATER
229
221
  case GSL_RNG_MT19937_1999: T = gsl_rng_mt19937_1999; break;
230
222
  case GSL_RNG_MT19937_1998: T = gsl_rng_mt19937_1998; break;
231
223
  case GSL_RNG_TAUS113: T = gsl_rng_taus113; break;
232
224
  case GSL_RNG_TAUS2: T = gsl_rng_taus2; break;
233
- #endif
234
225
  case GSL_RNG_RANLXS0: T = gsl_rng_ranlxs0; break;
235
226
  case GSL_RNG_RANLXS1: T = gsl_rng_ranlxs1; break;
236
227
  case GSL_RNG_RANLXS2: T = gsl_rng_ranlxs2; break;
@@ -278,7 +269,6 @@ static const gsl_rng_type* get_gsl_rng_type_int(int itype)
278
269
  case GSL_RNG_UNI32: T = gsl_rng_uni32; break;
279
270
  case GSL_RNG_SLATEC: T = gsl_rng_slatec; break;
280
271
  case GSL_RNG_ZUF: T = gsl_rng_zuf; break;
281
- #ifdef GSL_1_1_LATER
282
272
  case GSL_RNG_BOROSH13: T = gsl_rng_borosh13; break;
283
273
  case GSL_RNG_COVEYOU: T = gsl_rng_coveyou; break;
284
274
  case GSL_RNG_FISHMAN18: T = gsl_rng_fishman18; break;
@@ -288,7 +278,6 @@ static const gsl_rng_type* get_gsl_rng_type_int(int itype)
288
278
  case GSL_RNG_KNUTHRAN2: T = gsl_rng_knuthran2; break;
289
279
  case GSL_RNG_LECUYER21: T = gsl_rng_lecuyer21; break;
290
280
  case GSL_RNG_WATERMAN14: T = gsl_rng_waterman14; break;
291
- #endif
292
281
  #ifdef HAVE_RNGEXTRA_RNGEXTRA_H
293
282
  case GSL_RNGEXTRA_RNG1: T = rngextra_rng1; break;
294
283
  case GSL_RNGEXTRA_RNG2: T = rngextra_rng2; break;
@@ -298,14 +287,12 @@ static const gsl_rng_type* get_gsl_rng_type_int(int itype)
298
287
  rb_raise(rb_eNotImpError, "Install the rngextra package found at <http://www.network-theory.co.uk/download/rngextra/>.");
299
288
  break;
300
289
  #endif
301
- #ifdef GSL_1_9_LATER
302
290
  case GSL_RNG_KNUTHRAN2002: T = gsl_rng_knuthran2002; break;
303
- #endif
304
291
  default:
305
292
  rb_raise(rb_eTypeError, "wrong generator type");
306
293
  }
307
294
 
308
- return T;
295
+ return T;
309
296
  }
310
297
 
311
298
  static void rb_gsl_rng_define_const_type(VALUE module)
@@ -405,10 +392,10 @@ static VALUE rb_gsl_rng_set(VALUE obj, VALUE s)
405
392
 
406
393
  /*
407
394
  Document-method: <i>GSL::Rng#get</i>
408
- Returns a random integer from the generator.
409
- The minimum and maximum values depend on the algorithm used,
410
- but all integers in the range [min,max] are equally likely.
411
- The values of min and max can determined using the auxiliary
395
+ Returns a random integer from the generator.
396
+ The minimum and maximum values depend on the algorithm used,
397
+ but all integers in the range [min,max] are equally likely.
398
+ The values of min and max can determined using the auxiliary
412
399
  methodss GSL::Rng#max and GSL::Rng#min.
413
400
  */
414
401
  static VALUE rb_gsl_rng_get(int argc, VALUE *argv, VALUE obj)
@@ -534,7 +521,6 @@ static VALUE rb_gsl_rng_print_state(VALUE obj)
534
521
  return obj;
535
522
  }
536
523
 
537
- #ifdef GSL_1_4_LATER
538
524
  static VALUE rb_gsl_rng_fwrite(VALUE obj, VALUE io)
539
525
  {
540
526
  gsl_rng *h = NULL;
@@ -558,7 +544,6 @@ static VALUE rb_gsl_rng_fread(VALUE obj, VALUE io)
558
544
  if (flag == 1) fclose(f);
559
545
  return INT2FIX(status);
560
546
  }
561
- #endif
562
547
 
563
548
  static VALUE rb_gsl_rng_memcpy(VALUE obj, VALUE dst, VALUE org)
564
549
  {
@@ -575,7 +560,7 @@ void Init_gsl_rng(VALUE module)
575
560
  cgsl_rng = rb_define_class_under(module, "Rng", cGSL_Object);
576
561
 
577
562
  rb_gsl_rng_define_const_type(module);
578
-
563
+
579
564
  rb_define_singleton_method(cgsl_rng, "alloc", rb_gsl_rng_alloc, -1);
580
565
 
581
566
  rb_define_singleton_method(cgsl_rng, "default_seed", rb_gsl_rng_default_seed, 0);
@@ -604,9 +589,7 @@ void Init_gsl_rng(VALUE module)
604
589
  rb_define_alias(cgsl_rng, "duplicate", "clone");
605
590
  rb_define_method(cgsl_rng, "print_state", rb_gsl_rng_print_state, 0);
606
591
 
607
- #ifdef GSL_1_4_LATER
608
592
  rb_define_method(cgsl_rng, "fwrite", rb_gsl_rng_fwrite, 1);
609
593
  rb_define_method(cgsl_rng, "fread", rb_gsl_rng_fread, 1);
610
- #endif
611
594
  rb_define_singleton_method(cgsl_rng, "memcpy", rb_gsl_rng_memcpy, 2);
612
595
  }
@@ -2,18 +2,17 @@
2
2
  root.c
3
3
  Ruby/GSL: Ruby extension library for GSL (GNU Scientific Library)
4
4
  (C) Copyright 2004 by Yoshiki Tsunesada
5
-
5
+
6
6
  Ruby/GSL is free software: you can redistribute it and/or modify it
7
7
  under the terms of the GNU General Public License.
8
8
  This library is distributed in the hope that it will be useful, but
9
9
  WITHOUT ANY WARRANTY.
10
10
  */
11
11
 
12
- #include "rb_gsl_config.h"
13
- #include "rb_gsl_array.h"
14
- #include "rb_gsl_common.h"
15
- #include "rb_gsl_function.h"
16
- #include "rb_gsl_root.h"
12
+ #include "include/rb_gsl_array.h"
13
+ #include "include/rb_gsl_common.h"
14
+ #include "include/rb_gsl_function.h"
15
+ #include "include/rb_gsl_root.h"
17
16
 
18
17
  EXTERN VALUE cgsl_function_fdf;
19
18
 
@@ -43,8 +42,8 @@ static VALUE rb_gsl_fsolver_new(VALUE klass, VALUE t)
43
42
  } else if (!str_tail_grep(name, "brent")) {
44
43
  T = gsl_root_fsolver_brent;
45
44
  } else {
46
- rb_raise(rb_eTypeError,
47
- "type must be \"bisection\" or \"falsepos\", or \"brent\".");
45
+ rb_raise(rb_eTypeError,
46
+ "type must be \"bisection\" or \"falsepos\", or \"brent\".");
48
47
  }
49
48
  break;
50
49
  case T_FIXNUM:
@@ -65,7 +64,7 @@ static VALUE rb_gsl_fsolver_new(VALUE klass, VALUE t)
65
64
  break;
66
65
  default:
67
66
  rb_raise(rb_eTypeError, "wrong argument type %s (String or Fixnum expected)",
68
- rb_class2name(CLASS_OF(t)));
67
+ rb_class2name(CLASS_OF(t)));
69
68
  break;
70
69
  }
71
70
  s = gsl_root_fsolver_alloc(T);
@@ -125,28 +124,28 @@ static VALUE rb_gsl_fsolver_name(VALUE obj)
125
124
  static VALUE rb_gsl_fsolver_test_interval(VALUE obj, VALUE eabs, VALUE erel)
126
125
  {
127
126
  gsl_root_fsolver *s = NULL;
128
- Need_Float(eabs); Need_Float(erel);
127
+ Need_Float(eabs); Need_Float(erel);
129
128
  Data_Get_Struct(obj, gsl_root_fsolver, s);
130
129
  return INT2FIX(gsl_root_test_interval(s->x_lower, s->x_upper,
131
- NUM2DBL(eabs), NUM2DBL(erel)));
130
+ NUM2DBL(eabs), NUM2DBL(erel)));
132
131
  }
133
132
 
134
133
  static VALUE rb_gsl_root_test_interval(VALUE obj, VALUE xl, VALUE xu, VALUE eabs,
135
- VALUE erel)
134
+ VALUE erel)
136
135
  {
137
136
  Need_Float(xl); Need_Float(xu);
138
- Need_Float(eabs); Need_Float(erel);
137
+ Need_Float(eabs); Need_Float(erel);
139
138
  return INT2FIX(gsl_root_test_interval(NUM2DBL(xl), NUM2DBL(xu),
140
- NUM2DBL(eabs), NUM2DBL(erel)));
139
+ NUM2DBL(eabs), NUM2DBL(erel)));
141
140
  }
142
141
 
143
142
  static VALUE rb_gsl_root_test_delta(VALUE obj, VALUE xl, VALUE xu, VALUE eabs,
144
- VALUE erel)
143
+ VALUE erel)
145
144
  {
146
145
  Need_Float(xl); Need_Float(xu);
147
- Need_Float(eabs); Need_Float(erel);
146
+ Need_Float(eabs); Need_Float(erel);
148
147
  return INT2FIX(gsl_root_test_delta(NUM2DBL(xl), NUM2DBL(xu),
149
- NUM2DBL(eabs), NUM2DBL(erel)));
148
+ NUM2DBL(eabs), NUM2DBL(erel)));
150
149
  }
151
150
 
152
151
  static VALUE rb_gsl_root_test_residual(VALUE obj, VALUE xl,VALUE eabs)
@@ -155,7 +154,7 @@ static VALUE rb_gsl_root_test_residual(VALUE obj, VALUE xl,VALUE eabs)
155
154
  return INT2FIX(gsl_root_test_residual(NUM2DBL(xl), NUM2DBL(eabs)));
156
155
  }
157
156
 
158
- static VALUE rb_gsl_fsolver_solve(int argc, VALUE *argv, VALUE *obj)
157
+ static VALUE rb_gsl_fsolver_solve(int argc, VALUE *argv, VALUE obj)
159
158
  {
160
159
  gsl_root_fsolver *s = NULL;
161
160
  gsl_function *F = NULL;
@@ -166,15 +165,15 @@ static VALUE rb_gsl_fsolver_solve(int argc, VALUE *argv, VALUE *obj)
166
165
  Check_Type(argv[2], T_ARRAY);
167
166
  epsabs = NUM2DBL(rb_ary_entry(argv[2], 0));
168
167
  epsrel = NUM2DBL(rb_ary_entry(argv[2], 1));
169
- /* no break */
168
+ /* no break */
170
169
  case 2:
171
170
  Check_Type(argv[1], T_ARRAY);
172
171
  xl = NUM2DBL(rb_ary_entry(argv[1], 0));
173
172
  xh = NUM2DBL(rb_ary_entry(argv[1], 1));
174
173
  break;
175
174
  default:
176
- rb_raise(rb_eArgError,
177
- "Usage: solve(f = Function, range = Array, eps = Array)");
175
+ rb_raise(rb_eArgError,
176
+ "Usage: solve(f = Function, range = Array, eps = Array)");
178
177
  break;
179
178
  }
180
179
  CHECK_FUNCTION(argv[0]);
@@ -229,7 +228,7 @@ static VALUE rb_gsl_fdfsolver_new(VALUE klass, VALUE t)
229
228
  break;
230
229
  default:
231
230
  rb_raise(rb_eTypeError, "wrong argument type %s (String or Fixnum expected)",
232
- rb_class2name(CLASS_OF(t)));
231
+ rb_class2name(CLASS_OF(t)));
233
232
  break;
234
233
  }
235
234
  s = gsl_root_fdfsolver_alloc(T);
@@ -270,7 +269,7 @@ static VALUE rb_gsl_fdfsolver_name(VALUE obj)
270
269
  return rb_str_new2(gsl_root_fdfsolver_name(s));
271
270
  }
272
271
 
273
- static VALUE rb_gsl_fdfsolver_solve(int argc, VALUE *argv, VALUE *obj)
272
+ static VALUE rb_gsl_fdfsolver_solve(int argc, VALUE *argv, VALUE obj)
274
273
  {
275
274
  gsl_root_fdfsolver *s = NULL;
276
275
  double x = 0.0, x0, epsabs = 0.0, epsrel = 1e-6;
@@ -281,7 +280,7 @@ static VALUE rb_gsl_fdfsolver_solve(int argc, VALUE *argv, VALUE *obj)
281
280
  Check_Type(argv[2], T_ARRAY);
282
281
  epsabs = NUM2DBL(rb_ary_entry(argv[2], 0));
283
282
  epsrel = NUM2DBL(rb_ary_entry(argv[2], 1));
284
- /* no break */
283
+ /* no break */
285
284
  case 2:
286
285
  Need_Float(argv[1]);
287
286
  x0 = NUM2DBL(argv[1]);
@@ -293,7 +292,7 @@ static VALUE rb_gsl_fdfsolver_solve(int argc, VALUE *argv, VALUE *obj)
293
292
  CHECK_FUNCTION_FDF(argv[0]);
294
293
  Data_Get_Struct(argv[0], gsl_function_fdf, F);
295
294
  Data_Get_Struct(obj, gsl_root_fdfsolver, s);
296
- gsl_root_fdfsolver_set(s, F, x0);
295
+ gsl_root_fdfsolver_set(s, F, x0);
297
296
  do {
298
297
  iter++;
299
298
  status = gsl_root_fdfsolver_iterate (s);
@@ -362,32 +361,32 @@ void Init_gsl_root(VALUE module)
362
361
  mgsl_root = rb_define_module_under(module, "Root");
363
362
 
364
363
  cgsl_fsolver = rb_define_class_under(mgsl_root, "FSolver", cGSL_Object);
365
- rb_define_singleton_method(cgsl_fsolver, "alloc", rb_gsl_fsolver_new, 1);
366
-
367
- rb_define_method(cgsl_fsolver, "set", rb_gsl_fsolver_set, 3);
368
- rb_define_method(cgsl_fsolver, "iterate", rb_gsl_fsolver_iterate, 0);
369
- rb_define_method(cgsl_fsolver, "root", rb_gsl_fsolver_root, 0);
370
- rb_define_method(cgsl_fsolver, "name", rb_gsl_fsolver_name, 0);
371
- rb_define_method(cgsl_fsolver, "x_lower", rb_gsl_fsolver_x_lower, 0);
372
- rb_define_method(cgsl_fsolver, "x_upper", rb_gsl_fsolver_x_upper, 0);
373
- rb_define_method(cgsl_fsolver, "test_interval", rb_gsl_fsolver_test_interval, 2);
374
- rb_define_method(cgsl_fsolver, "solve", rb_gsl_fsolver_solve, -1);
375
-
376
- rb_define_singleton_method(mgsl_root, "test_interval",
377
- rb_gsl_root_test_interval, 4);
378
- rb_define_singleton_method(mgsl_root, "test_delta",
379
- rb_gsl_root_test_delta, 4);
380
- rb_define_singleton_method(mgsl_root, "test_residual",
381
- rb_gsl_root_test_residual, 2);
364
+ rb_define_singleton_method(cgsl_fsolver, "alloc", rb_gsl_fsolver_new, 1);
365
+
366
+ rb_define_method(cgsl_fsolver, "set", rb_gsl_fsolver_set, 3);
367
+ rb_define_method(cgsl_fsolver, "iterate", rb_gsl_fsolver_iterate, 0);
368
+ rb_define_method(cgsl_fsolver, "root", rb_gsl_fsolver_root, 0);
369
+ rb_define_method(cgsl_fsolver, "name", rb_gsl_fsolver_name, 0);
370
+ rb_define_method(cgsl_fsolver, "x_lower", rb_gsl_fsolver_x_lower, 0);
371
+ rb_define_method(cgsl_fsolver, "x_upper", rb_gsl_fsolver_x_upper, 0);
372
+ rb_define_method(cgsl_fsolver, "test_interval", rb_gsl_fsolver_test_interval, 2);
373
+ rb_define_method(cgsl_fsolver, "solve", rb_gsl_fsolver_solve, -1);
374
+
375
+ rb_define_singleton_method(mgsl_root, "test_interval",
376
+ rb_gsl_root_test_interval, 4);
377
+ rb_define_singleton_method(mgsl_root, "test_delta",
378
+ rb_gsl_root_test_delta, 4);
379
+ rb_define_singleton_method(mgsl_root, "test_residual",
380
+ rb_gsl_root_test_residual, 2);
382
381
 
383
382
  cgsl_fdfsolver = rb_define_class_under(mgsl_root, "FdfSolver", cGSL_Object);
384
- rb_define_singleton_method(cgsl_fdfsolver, "alloc", rb_gsl_fdfsolver_new, 1);
383
+ rb_define_singleton_method(cgsl_fdfsolver, "alloc", rb_gsl_fdfsolver_new, 1);
385
384
 
386
- rb_define_method(cgsl_fdfsolver, "set", rb_gsl_fdfsolver_set, 2);
387
- rb_define_method(cgsl_fdfsolver, "iterate", rb_gsl_fdfsolver_iterate, 0);
388
- rb_define_method(cgsl_fdfsolver, "root", rb_gsl_fdfsolver_root, 0);
389
- rb_define_method(cgsl_fdfsolver, "name", rb_gsl_fdfsolver_name, 0);
390
- rb_define_method(cgsl_fdfsolver, "solve", rb_gsl_fdfsolver_solve, -1);
385
+ rb_define_method(cgsl_fdfsolver, "set", rb_gsl_fdfsolver_set, 2);
386
+ rb_define_method(cgsl_fdfsolver, "iterate", rb_gsl_fdfsolver_iterate, 0);
387
+ rb_define_method(cgsl_fdfsolver, "root", rb_gsl_fdfsolver_root, 0);
388
+ rb_define_method(cgsl_fdfsolver, "name", rb_gsl_fdfsolver_name, 0);
389
+ rb_define_method(cgsl_fdfsolver, "solve", rb_gsl_fdfsolver_solve, -1);
391
390
 
392
391
  rb_define_method(cgsl_function, "fsolve", rb_gsl_function_rootfinder, -1);
393
392
  rb_define_alias(cgsl_function, "solve", "fsolve");