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
@@ -9,60 +9,54 @@
9
9
  WITHOUT ANY WARRANTY.
10
10
  */
11
11
 
12
- #include "rb_gsl.h"
13
- #include "rb_gsl_function.h"
12
+ #include "include/rb_gsl.h"
13
+ #include "include/rb_gsl_function.h"
14
14
  #include <gsl/gsl_min.h>
15
15
 
16
- double rb_gsl_function_f(double x, void *p);
16
+ double rb_gsl_function_f(double x, void *p);
17
17
 
18
18
  enum {
19
19
  GSL_MIN_FMINIMIZER_GOLDENSECTION,
20
20
  GSL_MIN_FMINIMIZER_BRENT,
21
- #ifdef GSL_1_13_LATER
22
21
  GSL_MIN_FMINIMIZER_QUAD_GOLDEN,
23
- #endif
24
22
  };
25
23
  static const gsl_min_fminimizer_type* rb_gsl_min_fminimizer_type_get(VALUE t);
26
24
 
27
- static const gsl_min_fminimizer_type* rb_gsl_min_fminimizer_type_get(VALUE t)
25
+ static const gsl_min_fminimizer_type* rb_gsl_min_fminimizer_type_get(VALUE t)
28
26
  {
29
27
  char name[32];
30
28
  switch (TYPE(t)) {
31
29
  case T_STRING:
32
30
  strcpy(name, STR2CSTR(t));
33
- if (str_tail_grep(name, "goldensection") == 0)
31
+ if (str_tail_grep(name, "goldensection") == 0)
34
32
  return gsl_min_fminimizer_goldensection;
35
- else if (str_tail_grep(name, "brent") == 0)
33
+ else if (str_tail_grep(name, "brent") == 0)
36
34
  return gsl_min_fminimizer_brent;
37
- #ifdef GSL_1_13_LATER
38
- else if (str_tail_grep(name, "quad_golden") == 0)
35
+ else if (str_tail_grep(name, "quad_golden") == 0)
39
36
  return gsl_min_fminimizer_quad_golden;
40
- #endif
41
- else
37
+ else
42
38
  rb_raise(rb_eTypeError, "unknown type %s (goldensection, brent or quad_golden expected)",
43
- name);
39
+ name);
44
40
  break;
45
41
  case T_FIXNUM:
46
42
  switch (FIX2INT(t)) {
47
- case GSL_MIN_FMINIMIZER_GOLDENSECTION:
48
- return gsl_min_fminimizer_goldensection;
43
+ case GSL_MIN_FMINIMIZER_GOLDENSECTION:
44
+ return gsl_min_fminimizer_goldensection;
49
45
  break;
50
- case GSL_MIN_FMINIMIZER_BRENT:
51
- return gsl_min_fminimizer_brent;
46
+ case GSL_MIN_FMINIMIZER_BRENT:
47
+ return gsl_min_fminimizer_brent;
52
48
  break;
53
- #ifdef GSL_1_13_LATER
54
- case GSL_MIN_FMINIMIZER_QUAD_GOLDEN:
55
- return gsl_min_fminimizer_quad_golden;
49
+ case GSL_MIN_FMINIMIZER_QUAD_GOLDEN:
50
+ return gsl_min_fminimizer_quad_golden;
56
51
  break;
57
- #endif
58
- default:
59
- rb_raise(rb_eTypeError, "unknown type (GOLDENSECION or BRENT or QUAD_GOLDEN expected)");
52
+ default:
53
+ rb_raise(rb_eTypeError, "unknown type (GOLDENSECION or BRENT or QUAD_GOLDEN expected)");
60
54
  break;
61
55
  }
62
56
  break;
63
57
  default:
64
58
  rb_raise(rb_eTypeError, "wrong argument type %s (String of Fixnum)",
65
- rb_class2name(CLASS_OF(t)));
59
+ rb_class2name(CLASS_OF(t)));
66
60
  break;
67
61
  }
68
62
  }
@@ -83,35 +77,35 @@ static VALUE rb_gsl_min_fminimizer_name(VALUE obj)
83
77
  return rb_str_new2(gsl_min_fminimizer_name(gmf));
84
78
  }
85
79
 
86
- static VALUE rb_gsl_min_fminimizer_set(VALUE obj, VALUE ff, VALUE xmin,
87
- VALUE xl, VALUE xu)
80
+ static VALUE rb_gsl_min_fminimizer_set(VALUE obj, VALUE ff, VALUE xmin,
81
+ VALUE xl, VALUE xu)
88
82
  {
89
83
  gsl_min_fminimizer *gmf = NULL;
90
84
  gsl_function *f = NULL;
91
- Need_Float(xmin); Need_Float(xl); Need_Float(xu);
85
+ Need_Float(xmin); Need_Float(xl); Need_Float(xu);
92
86
  CHECK_FUNCTION(ff);
93
87
  Data_Get_Struct(obj, gsl_min_fminimizer, gmf);
94
88
  Data_Get_Struct(ff, gsl_function, f);
95
- return INT2FIX(gsl_min_fminimizer_set(gmf, f, NUM2DBL(xmin),
96
- NUM2DBL(xl), NUM2DBL(xu)));
89
+ return INT2FIX(gsl_min_fminimizer_set(gmf, f, NUM2DBL(xmin),
90
+ NUM2DBL(xl), NUM2DBL(xu)));
97
91
  }
98
92
 
99
- static VALUE rb_gsl_min_fminimizer_set_with_values(VALUE obj, VALUE ff,
100
- VALUE xmin, VALUE fmin,
101
- VALUE xl, VALUE fl,
102
- VALUE xu, VALUE fu)
93
+ static VALUE rb_gsl_min_fminimizer_set_with_values(VALUE obj, VALUE ff,
94
+ VALUE xmin, VALUE fmin,
95
+ VALUE xl, VALUE fl,
96
+ VALUE xu, VALUE fu)
103
97
  {
104
98
  gsl_min_fminimizer *gmf = NULL;
105
99
  gsl_function *f = NULL;
106
- Need_Float(xmin); Need_Float(xl); Need_Float(xu);
107
- Need_Float(fl); Need_Float(fu);
100
+ Need_Float(xmin); Need_Float(xl); Need_Float(xu);
101
+ Need_Float(fl); Need_Float(fu);
108
102
  CHECK_FUNCTION(ff);
109
103
  Data_Get_Struct(obj, gsl_min_fminimizer, gmf);
110
104
  Data_Get_Struct(ff, gsl_function, f);
111
- return INT2FIX(gsl_min_fminimizer_set_with_values(gmf, f, NUM2DBL(xmin),
112
- NUM2DBL(fmin),
113
- NUM2DBL(xl), NUM2DBL(fl),
114
- NUM2DBL(xu), NUM2DBL(fu)));
105
+ return INT2FIX(gsl_min_fminimizer_set_with_values(gmf, f, NUM2DBL(xmin),
106
+ NUM2DBL(fmin),
107
+ NUM2DBL(xl), NUM2DBL(fl),
108
+ NUM2DBL(xu), NUM2DBL(fu)));
115
109
  }
116
110
 
117
111
  static VALUE rb_gsl_min_fminimizer_iterate(VALUE obj)
@@ -135,29 +129,6 @@ static VALUE rb_gsl_min_fminimizer_x_upper(VALUE obj)
135
129
  return rb_float_new(gsl_min_fminimizer_x_upper(gmf));
136
130
  }
137
131
 
138
- #ifndef GSL_1_2_LATER
139
- static double gsl_min_fminimizer_x_minimum(const gsl_min_fminimizer * s)
140
- {
141
- /* return s->x_minimum;*/
142
- return s->minimum;
143
- }
144
-
145
- static double gsl_min_fminimizer_f_minimum(const gsl_min_fminimizer * s)
146
- {
147
- return s->f_minimum;
148
- }
149
-
150
- static double gsl_min_fminimizer_f_lower(const gsl_min_fminimizer * s)
151
- {
152
- return s->f_lower;
153
- }
154
-
155
- static double gsl_min_fminimizer_f_upper(const gsl_min_fminimizer * s)
156
- {
157
- return s->f_upper;
158
- }
159
- #endif
160
-
161
132
  static VALUE rb_gsl_min_fminimizer_x_minimum(VALUE obj)
162
133
  {
163
134
  gsl_min_fminimizer *gmf = NULL;
@@ -198,12 +169,12 @@ static VALUE rb_gsl_min_fminimizer_test_interval(VALUE obj, VALUE ea, VALUE er)
198
169
  }
199
170
 
200
171
  static VALUE rb_gsl_fminimizer_test_interval(VALUE obj, VALUE xl, VALUE xu,
201
- VALUE ea, VALUE er)
172
+ VALUE ea, VALUE er)
202
173
  {
203
174
  Need_Float(xl); Need_Float(xu);
204
175
  Need_Float(ea); Need_Float(er);
205
176
  return INT2FIX(gsl_min_test_interval(NUM2DBL(xl), NUM2DBL(xu),
206
- NUM2DBL(ea), NUM2DBL(er)));
177
+ NUM2DBL(ea), NUM2DBL(er)));
207
178
  }
208
179
 
209
180
  void Init_gsl_min(VALUE module)
@@ -211,21 +182,19 @@ void Init_gsl_min(VALUE module)
211
182
  VALUE mgsl_min, cgsl_fminimizer;
212
183
 
213
184
  mgsl_min = rb_define_module_under(module, "Min");
214
-
185
+
215
186
  cgsl_fminimizer = rb_define_class_under(mgsl_min, "FMinimizer", cGSL_Object);
216
187
 
217
- rb_define_const(cgsl_fminimizer, "GOLDENSECTION",
218
- INT2FIX(GSL_MIN_FMINIMIZER_GOLDENSECTION));
219
- rb_define_const(cgsl_fminimizer, "Goldensection",
220
- INT2FIX(GSL_MIN_FMINIMIZER_GOLDENSECTION));
188
+ rb_define_const(cgsl_fminimizer, "GOLDENSECTION",
189
+ INT2FIX(GSL_MIN_FMINIMIZER_GOLDENSECTION));
190
+ rb_define_const(cgsl_fminimizer, "Goldensection",
191
+ INT2FIX(GSL_MIN_FMINIMIZER_GOLDENSECTION));
221
192
  rb_define_const(cgsl_fminimizer, "BRENT",
222
- INT2FIX(GSL_MIN_FMINIMIZER_BRENT));
193
+ INT2FIX(GSL_MIN_FMINIMIZER_BRENT));
223
194
  rb_define_const(cgsl_fminimizer, "Brent",
224
- INT2FIX(GSL_MIN_FMINIMIZER_BRENT));
225
- #ifdef GSL_1_13_LATER
195
+ INT2FIX(GSL_MIN_FMINIMIZER_BRENT));
226
196
  rb_define_const(cgsl_fminimizer, "QUAD_GOLDEN",
227
- INT2FIX(GSL_MIN_FMINIMIZER_QUAD_GOLDEN));
228
- #endif
197
+ INT2FIX(GSL_MIN_FMINIMIZER_QUAD_GOLDEN));
229
198
 
230
199
  rb_define_singleton_method(cgsl_fminimizer, "new", rb_gsl_min_fminimizer_new, 1);
231
200
  rb_define_singleton_method(cgsl_fminimizer, "alloc", rb_gsl_min_fminimizer_new, 1);
@@ -239,8 +208,8 @@ void Init_gsl_min(VALUE module)
239
208
  rb_define_method(cgsl_fminimizer, "x_upper", rb_gsl_min_fminimizer_x_upper, 0);
240
209
  rb_define_method(cgsl_fminimizer, "test_interval", rb_gsl_min_fminimizer_test_interval, 2);
241
210
 
242
- rb_define_singleton_method(mgsl_min, "test_interval",
243
- rb_gsl_fminimizer_test_interval, 4);
211
+ rb_define_singleton_method(mgsl_min, "test_interval",
212
+ rb_gsl_fminimizer_test_interval, 4);
244
213
 
245
214
  rb_define_method(cgsl_fminimizer, "x_minimum", rb_gsl_min_fminimizer_x_minimum, 0);
246
215
  rb_define_method(cgsl_fminimizer, "f_minimum", rb_gsl_min_fminimizer_f_minimum, 0);
@@ -9,14 +9,14 @@
9
9
  WITHOUT ANY WARRANTY.
10
10
  */
11
11
 
12
- #include "rb_gsl.h"
13
- #include "rb_gsl_rng.h"
12
+ #include "include/rb_gsl.h"
13
+ #include "include/rb_gsl_rng.h"
14
14
  #include <gsl/gsl_monte_plain.h>
15
15
  #include <gsl/gsl_monte_miser.h>
16
16
  #include <gsl/gsl_monte_vegas.h>
17
17
 
18
18
  #ifndef CHECK_MONTE_FUNCTION
19
- #define CHECK_MONTE_FUNCTION(x) if(!rb_obj_is_kind_of(x,cgsl_monte_function))\
19
+ #define CHECK_MONTE_FUNCTION(x) if(!rb_obj_is_kind_of(x,cgsl_monte_function)) \
20
20
  rb_raise(rb_eTypeError, "wrong type (Function expected)");
21
21
  #endif
22
22
 
@@ -24,9 +24,7 @@ static VALUE cgsl_monte_plain;
24
24
  static VALUE cgsl_monte_miser;
25
25
  static VALUE cgsl_monte_vegas;
26
26
  static VALUE cgsl_monte_function;
27
- #ifdef GSL_1_13_LATER
28
27
  static VALUE cgsl_monte_miser_params, cgsl_monte_vegas_params;
29
- #endif
30
28
  EXTERN VALUE cgsl_vector;
31
29
 
32
30
  enum {
@@ -72,11 +70,11 @@ static VALUE rb_gsl_monte_function_set_f(int argc, VALUE *argv, VALUE obj)
72
70
  rb_ary_store(ary, 0, argv[0]);
73
71
  F->dim = FIX2INT(argv[1]);
74
72
  ary2 = rb_ary_new2(argc-2);
75
- for (i = 2; i < argc; i++) rb_ary_store(ary2, i-2, argv[i]);
73
+ for (i = 2; i < (size_t) argc; i++) rb_ary_store(ary2, i-2, argv[i]);
76
74
  rb_ary_store(ary, 1, ary2);
77
75
  break;
78
76
  }
79
- if (rb_block_given_p()) rb_ary_store(ary, 0, RB_GSL_MAKE_PROC);
77
+ if (rb_block_given_p()) rb_ary_store(ary, 0, rb_block_proc());
80
78
  return obj;
81
79
  }
82
80
 
@@ -102,7 +100,7 @@ static VALUE rb_gsl_monte_function_new(int argc, VALUE *argv, VALUE klass)
102
100
  obj = Data_Wrap_Struct(klass, gsl_monte_function_mark, gsl_monte_function_free, f);
103
101
  rb_gsl_monte_function_set_f(argc, argv, obj);
104
102
  return obj;
105
- }
103
+ }
106
104
 
107
105
  static double rb_gsl_monte_function_f(double *x, size_t dim, void *p)
108
106
  {
@@ -164,7 +162,7 @@ static VALUE rb_gsl_monte_function_set_params(int argc, VALUE *argv, VALUE obj)
164
162
  rb_ary_store(ary, 1, argv[0]);
165
163
  } else {
166
164
  ary2 = rb_ary_new2(argc);
167
- for (i = 0; i < argc; i++) rb_ary_store(ary2, i, argv[i]);
165
+ for (i = 0; i < (size_t) argc; i++) rb_ary_store(ary2, i, argv[i]);
168
166
  rb_ary_store(ary, 1, ary2);
169
167
  }
170
168
  return obj;
@@ -237,16 +235,16 @@ static VALUE rb_gsl_monte_integrate(int argc, VALUE *argv, VALUE obj)
237
235
  int itmp = 0, flagr = 0, type;
238
236
  double result, abserr;
239
237
 
240
- if (argc < 4)
238
+ if (argc < 4)
241
239
  rb_raise(rb_eArgError, "wrong number of arguments (%d for >= 4)", argc);
242
240
  switch (TYPE(obj)) {
243
241
  case T_MODULE:
244
242
  case T_CLASS:
245
243
  case T_OBJECT:
246
244
  if (!rb_obj_is_kind_of(argv[0], cgsl_monte_function))
247
- rb_raise(rb_eTypeError,
248
- "wrong type argument %s (GSL::Monte::Function expected)",
249
- rb_class2name(CLASS_OF(argv[0])));
245
+ rb_raise(rb_eTypeError,
246
+ "wrong type argument %s (GSL::Monte::Function expected)",
247
+ rb_class2name(CLASS_OF(argv[0])));
250
248
  Data_Get_Struct(argv[0], gsl_monte_function, F);
251
249
  itmp = 1;
252
250
  break;
@@ -267,14 +265,12 @@ static VALUE rb_gsl_monte_integrate(int argc, VALUE *argv, VALUE obj)
267
265
  dim = F->dim;
268
266
  calls = FIX2INT(argv[itmp+2]);
269
267
  }
270
-
271
268
  if (rb_obj_is_kind_of(argv[argc-2], cgsl_rng)) {
272
269
  Data_Get_Struct(argv[argc-2], gsl_rng, r);
273
270
  } else {
274
271
  r = gsl_rng_alloc(gsl_rng_default);
275
272
  flagr = 1;
276
273
  }
277
-
278
274
  type = get_monte_type(argv[argc-1]);
279
275
 
280
276
  switch (type) {
@@ -285,8 +281,8 @@ static VALUE rb_gsl_monte_integrate(int argc, VALUE *argv, VALUE obj)
285
281
  gsl_monte_plain_init(plain);
286
282
  } else {
287
283
  if (!rb_obj_is_kind_of(argv[argc-1], cgsl_monte_plain))
288
- rb_raise(rb_eTypeError, "wrong argument type %s (Monte::Plain expected)",
289
- rb_class2name(CLASS_OF(argv[argc-1])));
284
+ rb_raise(rb_eTypeError, "wrong argument type %s (Monte::Plain expected)",
285
+ rb_class2name(CLASS_OF(argv[argc-1])));
290
286
  Data_Get_Struct(argv[argc-1], gsl_monte_plain_state, plain);
291
287
  }
292
288
  gsl_monte_plain_integrate(F, xl->data, xu->data, dim, calls, r, plain, &result, &abserr);
@@ -299,8 +295,8 @@ static VALUE rb_gsl_monte_integrate(int argc, VALUE *argv, VALUE obj)
299
295
  gsl_monte_miser_init(miser);
300
296
  } else {
301
297
  if (!rb_obj_is_kind_of(argv[argc-1], cgsl_monte_miser))
302
- rb_raise(rb_eTypeError, "wrong argument type %s (Monte::Miser expected)",
303
- rb_class2name(CLASS_OF(argv[argc-1])));
298
+ rb_raise(rb_eTypeError, "wrong argument type %s (Monte::Miser expected)",
299
+ rb_class2name(CLASS_OF(argv[argc-1])));
304
300
  Data_Get_Struct(argv[argc-1], gsl_monte_miser_state, miser);
305
301
  }
306
302
  gsl_monte_miser_integrate(F, xl->data, xu->data, dim, calls, r, miser, &result, &abserr);
@@ -312,10 +308,9 @@ static VALUE rb_gsl_monte_integrate(int argc, VALUE *argv, VALUE obj)
312
308
  vegas = gsl_monte_vegas_alloc(dim);
313
309
  gsl_monte_vegas_init(vegas);
314
310
  } else { if (!rb_obj_is_kind_of(argv[argc-1], cgsl_monte_vegas))
315
- rb_raise(rb_eTypeError, "wrong argument type %s (Monte::Vegas expected)",
316
- rb_class2name(CLASS_OF(argv[argc-1])));
317
- Data_Get_Struct(argv[argc-1], gsl_monte_vegas_state, vegas);
318
- }
311
+ rb_raise(rb_eTypeError, "wrong argument type %s (Monte::Vegas expected)",
312
+ rb_class2name(CLASS_OF(argv[argc-1])));
313
+ Data_Get_Struct(argv[argc-1], gsl_monte_vegas_state, vegas); }
319
314
  gsl_monte_vegas_integrate(F, xl->data, xu->data, dim, calls, r, vegas, &result, &abserr);
320
315
  if (type > 100) gsl_monte_vegas_free(vegas);
321
316
  break;
@@ -334,7 +329,7 @@ static VALUE rb_gsl_monte_plain_integrate(int argc, VALUE *argv, VALUE obj)
334
329
  int flagr = 0;
335
330
  double result, abserr;
336
331
 
337
- if (argc < 4)
332
+ if (argc < 4)
338
333
  rb_raise(rb_eArgError, "wrong number of arguments (%d for 4, 5 or 6)", argc);
339
334
  CHECK_MONTE_FUNCTION(argv[0]);
340
335
  CHECK_VECTOR(argv[1]); CHECK_VECTOR(argv[2]);
@@ -349,15 +344,14 @@ static VALUE rb_gsl_monte_plain_integrate(int argc, VALUE *argv, VALUE obj)
349
344
  dim = F->dim;
350
345
  calls = FIX2INT(argv[3]);
351
346
  }
352
-
353
347
  if (rb_obj_is_kind_of(argv[argc-1], cgsl_rng)) {
354
348
  Data_Get_Struct(argv[argc-1], gsl_rng, r);
355
349
  } else {
356
350
  r = gsl_rng_alloc(gsl_rng_default);
357
351
  flagr = 1;
358
352
  }
359
- gsl_monte_plain_integrate(F, xl->data, xu->data, dim, calls, r, plain,
360
- &result, &abserr);
353
+ gsl_monte_plain_integrate(F, xl->data, xu->data, dim, calls, r, plain,
354
+ &result, &abserr);
361
355
  if (flagr == 1) gsl_rng_free(r);
362
356
  return rb_ary_new3(2, rb_float_new(result), rb_float_new(abserr));
363
357
  }
@@ -387,15 +381,14 @@ static VALUE rb_gsl_monte_miser_integrate(int argc, VALUE *argv, VALUE obj)
387
381
  dim = F->dim;
388
382
  calls = FIX2INT(argv[3]);
389
383
  }
390
-
391
384
  if (rb_obj_is_kind_of(argv[argc-1], cgsl_rng)) {
392
385
  Data_Get_Struct(argv[argc-1], gsl_rng, r);
393
386
  } else {
394
387
  r = gsl_rng_alloc(gsl_rng_default);
395
388
  flagr = 1;
396
389
  }
397
- gsl_monte_miser_integrate(F, xl->data, xu->data, dim, calls, r, miser,
398
- &result, &abserr);
390
+ gsl_monte_miser_integrate(F, xl->data, xu->data, dim, calls, r, miser,
391
+ &result, &abserr);
399
392
  if (flagr == 1) gsl_rng_free(r);
400
393
  return rb_ary_new3(2, rb_float_new(result), rb_float_new(abserr));
401
394
  }
@@ -410,7 +403,7 @@ static VALUE rb_gsl_monte_vegas_integrate(int argc, VALUE *argv, VALUE obj)
410
403
  int flagr = 0;
411
404
  double result, abserr;
412
405
 
413
- if (argc < 4)
406
+ if (argc < 4)
414
407
  rb_raise(rb_eArgError, "wrong number of arguments (%d for >= 4)", argc);
415
408
  CHECK_MONTE_FUNCTION(argv[0]);
416
409
  CHECK_VECTOR(argv[1]); CHECK_VECTOR(argv[2]);
@@ -425,15 +418,14 @@ static VALUE rb_gsl_monte_vegas_integrate(int argc, VALUE *argv, VALUE obj)
425
418
  dim = F->dim;
426
419
  calls = FIX2INT(argv[3]);
427
420
  }
428
-
429
421
  if (rb_obj_is_kind_of(argv[argc-1], cgsl_rng)) {
430
422
  Data_Get_Struct(argv[argc-1], gsl_rng, r);
431
423
  } else {
432
424
  r = gsl_rng_alloc(gsl_rng_default);
433
425
  flagr = 1;
434
426
  }
435
- gsl_monte_vegas_integrate(F, xl->data, xu->data, dim, calls, r, vegas,
436
- &result, &abserr);
427
+ gsl_monte_vegas_integrate(F, xl->data, xu->data, dim, calls, r, vegas,
428
+ &result, &abserr);
437
429
  if (flagr == 1) gsl_rng_free(r);
438
430
  return rb_ary_new3(2, rb_float_new(result), rb_float_new(abserr));
439
431
  }
@@ -447,7 +439,6 @@ static int get_monte_type(VALUE vt)
447
439
  else {
448
440
  /* do next */
449
441
  }
450
-
451
442
  switch(TYPE(vt)) {
452
443
  case T_STRING:
453
444
  strcpy(name, STR2CSTR(vt));
@@ -555,8 +546,8 @@ static VALUE rb_gsl_monte_miser_state(VALUE obj)
555
546
  gsl_monte_miser_state *s = NULL;
556
547
  Data_Get_Struct(obj, gsl_monte_miser_state, s);
557
548
  return rb_ary_new3(5, rb_float_new(s->estimate_frac), INT2FIX(s->min_calls),
558
- INT2FIX(s->min_calls_per_bisection), rb_float_new(s->alpha),
559
- rb_float_new(s->dither));
549
+ INT2FIX(s->min_calls_per_bisection), rb_float_new(s->alpha),
550
+ rb_float_new(s->dither));
560
551
  }
561
552
 
562
553
  static VALUE rb_gsl_monte_vegas_result(VALUE obj)
@@ -655,20 +646,19 @@ static VALUE rb_gsl_monte_vegas_state(VALUE obj)
655
646
  {
656
647
  gsl_monte_vegas_state *s = NULL;
657
648
  Data_Get_Struct(obj, gsl_monte_vegas_state, s);
658
- return rb_ary_new3(8, rb_float_new(s->result), rb_float_new(s->sigma),
659
- rb_float_new(s->chisq), rb_float_new(s->alpha),
660
- INT2FIX(s->iterations), INT2FIX(s->stage),
661
- INT2FIX(s->mode), INT2FIX(s->verbose));
649
+ return rb_ary_new3(8, rb_float_new(s->result), rb_float_new(s->sigma),
650
+ rb_float_new(s->chisq), rb_float_new(s->alpha),
651
+ INT2FIX(s->iterations), INT2FIX(s->stage),
652
+ INT2FIX(s->mode), INT2FIX(s->verbose));
662
653
  }
663
654
 
664
- #ifdef GSL_1_13_LATER
665
655
  static VALUE rb_gsl_monte_miser_params_get(VALUE obj)
666
656
  {
667
657
  gsl_monte_miser_state *s = NULL;
668
658
  gsl_monte_miser_params *p = NULL;
669
659
  Data_Get_Struct(obj, gsl_monte_miser_state, s);
670
660
  p = (gsl_monte_miser_params *) malloc(sizeof(gsl_monte_miser_params));
671
- gsl_monte_miser_params_get(s, p);
661
+ gsl_monte_miser_params_get(s, p);
672
662
  return Data_Wrap_Struct(cgsl_monte_miser_params, 0, free, p);
673
663
  }
674
664
  static VALUE rb_gsl_monte_miser_params_set(VALUE obj, VALUE params)
@@ -677,7 +667,7 @@ static VALUE rb_gsl_monte_miser_params_set(VALUE obj, VALUE params)
677
667
  gsl_monte_miser_params *p = NULL;
678
668
  Data_Get_Struct(obj, gsl_monte_miser_state, s);
679
669
  Data_Get_Struct(params, gsl_monte_miser_params, p);
680
- gsl_monte_miser_params_set(s, p);
670
+ gsl_monte_miser_params_set(s, p);
681
671
  return Qtrue;
682
672
  }
683
673
  static VALUE rb_gsl_monte_miser_params_get_estimate_frac(VALUE obj)
@@ -752,7 +742,7 @@ static VALUE rb_gsl_monte_vegas_params_get(VALUE obj)
752
742
  gsl_monte_vegas_params *p = NULL;
753
743
  Data_Get_Struct(obj, gsl_monte_vegas_state, s);
754
744
  p = (gsl_monte_vegas_params *) malloc(sizeof(gsl_monte_vegas_params));
755
- gsl_monte_vegas_params_get(s, p);
745
+ gsl_monte_vegas_params_get(s, p);
756
746
  return Data_Wrap_Struct(cgsl_monte_vegas_params, 0, free, p);
757
747
  }
758
748
  static VALUE rb_gsl_monte_vegas_params_set(VALUE obj, VALUE params)
@@ -761,7 +751,7 @@ static VALUE rb_gsl_monte_vegas_params_set(VALUE obj, VALUE params)
761
751
  gsl_monte_vegas_params *p = NULL;
762
752
  Data_Get_Struct(obj, gsl_monte_vegas_state, s);
763
753
  Data_Get_Struct(params, gsl_monte_vegas_params, p);
764
- gsl_monte_vegas_params_set(s, p);
754
+ gsl_monte_vegas_params_set(s, p);
765
755
  return Qtrue;
766
756
  }
767
757
  static VALUE rb_gsl_monte_vegas_params_get_alpha(VALUE obj)
@@ -841,7 +831,6 @@ static VALUE rb_gsl_monte_vegas_runval(VALUE obj)
841
831
  rb_ary_store(ary, 1, rb_float_new(sig));
842
832
  return ary;
843
833
  }
844
- #endif
845
834
 
846
835
  void Init_gsl_monte(VALUE module)
847
836
  {
@@ -926,20 +915,19 @@ void Init_gsl_monte(VALUE module)
926
915
 
927
916
 
928
917
  /*****/
929
- rb_define_singleton_method(cgsl_monte_plain, "integrate",
930
- rb_gsl_monte_integrate, -1);
931
- rb_define_method(cgsl_monte_plain, "integrate",
932
- rb_gsl_monte_plain_integrate, -1);
933
- rb_define_singleton_method(cgsl_monte_miser, "integrate",
934
- rb_gsl_monte_integrate, -1);
935
- rb_define_method(cgsl_monte_miser, "integrate",
936
- rb_gsl_monte_miser_integrate, -1);
937
- rb_define_singleton_method(cgsl_monte_vegas, "integrate",
938
- rb_gsl_monte_integrate, -1);
939
- rb_define_method(cgsl_monte_vegas, "integrate",
940
- rb_gsl_monte_vegas_integrate, -1);
941
-
942
- #ifdef GSL_1_13_LATER
918
+ rb_define_singleton_method(cgsl_monte_plain, "integrate",
919
+ rb_gsl_monte_integrate, -1);
920
+ rb_define_method(cgsl_monte_plain, "integrate",
921
+ rb_gsl_monte_plain_integrate, -1);
922
+ rb_define_singleton_method(cgsl_monte_miser, "integrate",
923
+ rb_gsl_monte_integrate, -1);
924
+ rb_define_method(cgsl_monte_miser, "integrate",
925
+ rb_gsl_monte_miser_integrate, -1);
926
+ rb_define_singleton_method(cgsl_monte_vegas, "integrate",
927
+ rb_gsl_monte_integrate, -1);
928
+ rb_define_method(cgsl_monte_vegas, "integrate",
929
+ rb_gsl_monte_vegas_integrate, -1);
930
+
943
931
  cgsl_monte_miser_params = rb_define_class_under(cgsl_monte_miser, "Params", cGSL_Object);
944
932
  cgsl_monte_vegas_params = rb_define_class_under(cgsl_monte_vegas, "Params", cGSL_Object);
945
933
 
@@ -982,10 +970,8 @@ void Init_gsl_monte(VALUE module)
982
970
  rb_define_method(cgsl_monte_vegas, "runval", rb_gsl_monte_vegas_runval, 0);
983
971
 
984
972
  rb_define_const(cgsl_monte_vegas, "MODE_IMPORTANCE", INT2FIX(GSL_VEGAS_MODE_IMPORTANCE));
985
- rb_define_const(cgsl_monte_vegas, "MODE_IMPORTANCE_ONLY", INT2FIX(GSL_VEGAS_MODE_IMPORTANCE_ONLY));
973
+ rb_define_const(cgsl_monte_vegas, "MODE_IMPORTANCE_ONLY", INT2FIX(GSL_VEGAS_MODE_IMPORTANCE_ONLY));
986
974
  rb_define_const(cgsl_monte_vegas, "MODE_STRATIFIED", INT2FIX(GSL_VEGAS_MODE_STRATIFIED));
987
- #endif
988
-
989
975
  }
990
976
  #ifdef CHECK_MONTE_FUNCTION
991
977
  #undef CHECK_MONTE_FUNCTION