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
@@ -11,11 +11,11 @@
11
11
 
12
12
  #include <gsl/gsl_rng.h>
13
13
  #include <gsl/gsl_siman.h>
14
- #include "rb_gsl.h"
15
- #include "rb_gsl_array.h"
16
- #include "rb_gsl_function.h"
17
- #include "rb_gsl_rng.h"
18
- #include "rb_gsl_common.h"
14
+ #include "include/rb_gsl.h"
15
+ #include "include/rb_gsl_array.h"
16
+ #include "include/rb_gsl_function.h"
17
+ #include "include/rb_gsl_rng.h"
18
+ #include "include/rb_gsl_common.h"
19
19
 
20
20
  static VALUE cgsl_siman_Efunc;
21
21
  static VALUE cgsl_siman_step;
@@ -128,7 +128,7 @@ static VALUE rb_gsl_siman_Efunc_set(int argc, VALUE *argv, VALUE obj)
128
128
  Data_Get_Struct(obj, siman_Efunc, se);
129
129
  switch (argc) {
130
130
  case 0:
131
- if (rb_block_given_p()) se->proc = RB_GSL_MAKE_PROC;
131
+ if (rb_block_given_p()) se->proc = rb_block_proc();
132
132
  break;
133
133
  case 1:
134
134
  if (rb_obj_is_kind_of(argv[0], rb_cProc)) se->proc = argv[0];
@@ -233,7 +233,7 @@ static VALUE rb_gsl_siman_print_set(int argc, VALUE *argv, VALUE obj)
233
233
  Data_Get_Struct(obj, siman_print, se);
234
234
  switch (argc) {
235
235
  case 0:
236
- if (rb_block_given_p()) se->proc = RB_GSL_MAKE_PROC;
236
+ if (rb_block_given_p()) se->proc = rb_block_proc();
237
237
  break;
238
238
  case 1:
239
239
  if (rb_obj_is_kind_of(argv[0], rb_cProc)) se->proc = argv[0];
@@ -302,7 +302,7 @@ static VALUE rb_gsl_siman_step_set(int argc, VALUE *argv, VALUE obj)
302
302
  Data_Get_Struct(obj, siman_step, se);
303
303
  switch (argc) {
304
304
  case 0:
305
- if (rb_block_given_p()) se->proc = RB_GSL_MAKE_PROC;
305
+ if (rb_block_given_p()) se->proc = rb_block_proc();
306
306
  break;
307
307
  case 1:
308
308
  if (rb_obj_is_kind_of(argv[0], rb_cProc)) se->proc = argv[0];
@@ -331,7 +331,7 @@ static siman_metric* siman_metric_alloc()
331
331
  se = ALLOC(siman_metric);
332
332
  if (se == NULL) rb_raise(rb_eRuntimeError, "ALLOC failed");
333
333
  se->siman_metric_t = &rb_gsl_siman_metric_t;
334
- return se;
334
+ return se;
335
335
  }
336
336
 
337
337
  static void siman_metric_mark(siman_metric *se)
@@ -373,7 +373,7 @@ static VALUE rb_gsl_siman_metric_set(int argc, VALUE *argv, VALUE obj)
373
373
  Data_Get_Struct(obj, siman_metric, se);
374
374
  switch (argc) {
375
375
  case 0:
376
- if (rb_block_given_p()) se->proc = RB_GSL_MAKE_PROC;
376
+ if (rb_block_given_p()) se->proc = rb_block_proc();
377
377
  break;
378
378
  case 1:
379
379
  if (rb_obj_is_kind_of(argv[0], rb_cProc)) se->proc = argv[0];
@@ -419,22 +419,22 @@ static VALUE rb_gsl_siman_params_set(int argc, VALUE *argv, VALUE obj)
419
419
  switch (argc) {
420
420
  case 7:
421
421
  params->t_min = NUM2DBL(argv[6]);
422
- /* no break */
422
+ /* no break */
423
423
  case 6:
424
424
  params->mu_t = NUM2DBL(argv[5]);
425
- /* no break */
425
+ /* no break */
426
426
  case 5:
427
427
  params->t_initial = NUM2DBL(argv[4]);
428
- /* no break */
428
+ /* no break */
429
429
  case 4:
430
430
  params->k = NUM2DBL(argv[3]);
431
- /* no break */
431
+ /* no break */
432
432
  case 3:
433
433
  params->step_size = NUM2DBL(argv[2]);
434
- /* no break */
434
+ /* no break */
435
435
  case 2:
436
436
  params->iters_fixed_T = NUM2INT(argv[1]);
437
- /* no break */
437
+ /* no break */
438
438
  case 1:
439
439
  params->n_tries = NUM2INT(argv[0]);
440
440
  }
@@ -551,16 +551,16 @@ static VALUE rb_gsl_siman_params_params(VALUE obj)
551
551
  gsl_siman_params_t *params = NULL;
552
552
  Data_Get_Struct(obj, gsl_siman_params_t, params);
553
553
  return rb_ary_new3(7, INT2FIX(params->n_tries), INT2FIX(params->iters_fixed_T),
554
- rb_float_new(params->step_size), rb_float_new(params->k),
555
- rb_float_new(params->t_initial), rb_float_new(params->mu_t),
556
- rb_float_new(params->t_min));
554
+ rb_float_new(params->step_size), rb_float_new(params->k),
555
+ rb_float_new(params->t_initial), rb_float_new(params->mu_t),
556
+ rb_float_new(params->t_min));
557
557
  }
558
558
 
559
559
  /***** solver *****/
560
560
  static VALUE rb_gsl_siman_solver_solve(VALUE obj, VALUE rng,
561
- VALUE vx0p, VALUE vefunc,
562
- VALUE vstep, VALUE vmetric, VALUE vprint,
563
- VALUE vparams)
561
+ VALUE vx0p, VALUE vefunc,
562
+ VALUE vstep, VALUE vmetric, VALUE vprint,
563
+ VALUE vparams)
564
564
  {
565
565
  gsl_rng *r = NULL;
566
566
  siman_solver *ss = NULL;
@@ -587,17 +587,16 @@ static VALUE rb_gsl_siman_solver_solve(VALUE obj, VALUE rng,
587
587
  }
588
588
  if (!rb_obj_is_kind_of(rng, cgsl_rng))
589
589
  rb_raise(rb_eTypeError, "wrong argument type %s (GSL::Rng expected)",
590
- rb_class2name(CLASS_OF(rng)));
590
+ rb_class2name(CLASS_OF(rng)));
591
591
  if (!rb_obj_is_kind_of(vefunc, cgsl_siman_Efunc))
592
592
  rb_raise(rb_eTypeError, "wrong argument type %s (GSL::Siman::Efunc expected)",
593
- rb_class2name(CLASS_OF(vefunc)));
593
+ rb_class2name(CLASS_OF(vefunc)));
594
594
  if (!rb_obj_is_kind_of(vstep, cgsl_siman_step))
595
595
  rb_raise(rb_eTypeError, "wrong argument type %s (GSL::Siman::Step expected)",
596
- rb_class2name(CLASS_OF(vstep)));
596
+ rb_class2name(CLASS_OF(vstep)));
597
597
  if (!rb_obj_is_kind_of(vmetric, cgsl_siman_metric))
598
598
  rb_raise(rb_eTypeError, "wrong argument type %s (GSL::Siman::Metric expected)",
599
- rb_class2name(CLASS_OF(vmetric)));
600
-
599
+ rb_class2name(CLASS_OF(vmetric)));
601
600
  Data_Get_Struct(rng, gsl_rng, r);
602
601
  Data_Get_Struct(vefunc, siman_Efunc, efunc);
603
602
  Data_Get_Struct(vstep, siman_step, step);
@@ -607,14 +606,13 @@ static VALUE rb_gsl_siman_solver_solve(VALUE obj, VALUE rng,
607
606
  } else {
608
607
  if (!rb_obj_is_kind_of(vprint, cgsl_siman_print))
609
608
  rb_raise(rb_eTypeError, "wrong argument type %s (GSL::Siman::Print expected)",
610
- rb_class2name(CLASS_OF(vprint)));
609
+ rb_class2name(CLASS_OF(vprint)));
611
610
  Data_Get_Struct(vprint, siman_print, print);
612
611
  ss->proc_print = print->proc;
613
612
  }
614
613
  if (!rb_obj_is_kind_of(vparams, cgsl_siman_params))
615
614
  rb_raise(rb_eTypeError, "wrong argument type %s (GSL::Siman::Params expected)",
616
- rb_class2name(CLASS_OF(vparams)));
617
-
615
+ rb_class2name(CLASS_OF(vparams)));
618
616
  Data_Get_Struct(vparams, gsl_siman_params_t, params);
619
617
 
620
618
  ss->proc_efunc = efunc->proc;
@@ -624,30 +622,28 @@ static VALUE rb_gsl_siman_solver_solve(VALUE obj, VALUE rng,
624
622
  gsl_vector_memcpy(ss->vx, vtmp);
625
623
 
626
624
  if (NIL_P(vprint)) {
627
- gsl_siman_solve(r, ss, rb_gsl_siman_Efunc_t,
628
- rb_gsl_siman_step_t,
629
- rb_gsl_siman_metric_t,
630
- NULL,
631
- rb_gsl_siman_copy_t,
632
- rb_gsl_siman_copy_construct_t,
633
- rb_gsl_siman_destroy_t, 0,
634
- *params);
625
+ gsl_siman_solve(r, ss, rb_gsl_siman_Efunc_t,
626
+ rb_gsl_siman_step_t,
627
+ rb_gsl_siman_metric_t,
628
+ NULL,
629
+ rb_gsl_siman_copy_t,
630
+ rb_gsl_siman_copy_construct_t,
631
+ rb_gsl_siman_destroy_t, 0,
632
+ *params);
635
633
 
636
634
  } else {
637
- gsl_siman_solve(r, ss, rb_gsl_siman_Efunc_t,
638
- rb_gsl_siman_step_t,
639
- rb_gsl_siman_metric_t,
640
- rb_gsl_siman_print_t,
641
- rb_gsl_siman_copy_t,
642
- rb_gsl_siman_copy_construct_t,
643
- rb_gsl_siman_destroy_t, 0,
644
- *params);
635
+ gsl_siman_solve(r, ss, rb_gsl_siman_Efunc_t,
636
+ rb_gsl_siman_step_t,
637
+ rb_gsl_siman_metric_t,
638
+ rb_gsl_siman_print_t,
639
+ rb_gsl_siman_copy_t,
640
+ rb_gsl_siman_copy_construct_t,
641
+ rb_gsl_siman_destroy_t, 0,
642
+ *params);
645
643
  }
646
-
647
644
  gsl_vector_memcpy(vtmp, ss->vx);
648
645
 
649
646
  if (flag == 1) gsl_siman_solver_free(ss);
650
-
651
647
  return obj;
652
648
  }
653
649
 
@@ -681,7 +677,7 @@ void Init_gsl_siman(VALUE module)
681
677
  rb_define_singleton_method(cgsl_siman_metric, "alloc", rb_gsl_siman_metric_new, -1);
682
678
  rb_define_method(cgsl_siman_metric, "set", rb_gsl_siman_metric_set, -1);
683
679
  rb_define_alias(cgsl_siman_metric, "set_proc", "set");
684
-
680
+
685
681
  /***** params *****/
686
682
  rb_define_singleton_method(cgsl_siman_params, "alloc", rb_gsl_siman_params_new, -1);
687
683
  rb_define_method(cgsl_siman_params, "set", rb_gsl_siman_params_set, -1);
@@ -9,10 +9,10 @@
9
9
  WITHOUT ANY WARRANTY.
10
10
  */
11
11
 
12
- #include "rb_gsl_config.h"
13
- #include "rb_gsl_array.h"
12
+ #include "include/rb_gsl_array.h"
14
13
  #include <gsl/gsl_heapsort.h>
15
14
  #include <gsl/gsl_sort.h>
15
+
16
16
  EXTERN ID RBGSL_ID_call;
17
17
  EXTERN VALUE cgsl_complex;
18
18
 
@@ -23,7 +23,7 @@ int rb_gsl_comparison_double(const void *aa, const void *bb)
23
23
  double *a = NULL, *b = NULL;
24
24
  a = (double *) aa;
25
25
  b = (double *) bb;
26
- return FIX2INT(rb_funcall(RB_GSL_MAKE_PROC, RBGSL_ID_call, 2, rb_float_new(*a), rb_float_new(*b)));
26
+ return FIX2INT(rb_funcall(rb_block_proc(), RBGSL_ID_call, 2, rb_float_new(*a), rb_float_new(*b)));
27
27
  }
28
28
 
29
29
  int rb_gsl_comparison_complex(const void *aa, const void *bb)
@@ -31,9 +31,9 @@ int rb_gsl_comparison_complex(const void *aa, const void *bb)
31
31
  gsl_complex *a = NULL, *b = NULL;
32
32
  a = (gsl_complex *) aa;
33
33
  b = (gsl_complex *) bb;
34
- return FIX2INT(rb_funcall(RB_GSL_MAKE_PROC, RBGSL_ID_call, 2,
35
- Data_Wrap_Struct(cgsl_complex, 0, NULL, a),
36
- Data_Wrap_Struct(cgsl_complex, 0, NULL, b)));
34
+ return FIX2INT(rb_funcall(rb_block_proc(), RBGSL_ID_call, 2,
35
+ Data_Wrap_Struct(cgsl_complex, 0, NULL, a),
36
+ Data_Wrap_Struct(cgsl_complex, 0, NULL, b)));
37
37
  }
38
38
 
39
39
  static VALUE rb_gsl_heapsort_vector(VALUE obj)
@@ -141,7 +141,6 @@ static VALUE rb_gsl_heapsort_index(VALUE obj, VALUE vv)
141
141
  /*****/
142
142
 
143
143
  #ifdef HAVE_NARRAY_H
144
- #include "narray.h"
145
144
  static VALUE rb_gsl_sort_narray(VALUE obj)
146
145
  {
147
146
  struct NARRAY *na;
@@ -9,8 +9,8 @@
9
9
  WITHOUT ANY WARRANTY.
10
10
  */
11
11
 
12
- #include "rb_gsl_config.h"
13
- #include "rb_gsl_interp.h"
12
+ #include "include/rb_gsl_interp.h"
13
+
14
14
  EXTERN VALUE cgsl_interp_accel; /* defined in interp.c */
15
15
 
16
16
  static void rb_gsl_spline_free(rb_gsl_spline *sp);
@@ -33,10 +33,10 @@ static VALUE rb_gsl_spline_new(int argc, VALUE *argv, VALUE klass)
33
33
  break;
34
34
  default:
35
35
  if (ptrx == NULL) {
36
- ptrx = get_vector_ptr(argv[i], &stride, &sizex);
36
+ ptrx = get_vector_ptr(argv[i], &stride, &sizex);
37
37
  } else {
38
- ptry = get_vector_ptr(argv[i], &stride, &sizey);
39
- size = GSL_MIN_INT(sizex, sizey);
38
+ ptry = get_vector_ptr(argv[i], &stride, &sizey);
39
+ size = GSL_MIN_INT(sizex, sizey);
40
40
  }
41
41
  break;
42
42
  }
@@ -65,9 +65,6 @@ static VALUE rb_gsl_spline_init(VALUE obj, VALUE xxa, VALUE yya)
65
65
  size_t i, size;
66
66
  int flagx = 0, flagy = 0;
67
67
  double *ptr1 = NULL, *ptr2 = NULL;
68
- #ifdef HAVE_NARRAY_H
69
- struct NARRAY *nax = NULL, *nay = NULL;
70
- #endif
71
68
  Data_Get_Struct(obj, rb_gsl_spline, sp);
72
69
  p = sp->s;
73
70
  if (TYPE(xxa) == T_ARRAY) {
@@ -83,9 +80,10 @@ static VALUE rb_gsl_spline_init(VALUE obj, VALUE xxa, VALUE yya)
83
80
  ptr1 = xa->data;
84
81
  #ifdef HAVE_NARRAY_H
85
82
  } else if (NA_IsNArray(xxa)) {
86
- GetNArray(xxa, nax);
87
- size = nax->total;
88
- ptr1 = (double *) nax->ptr;
83
+ struct NARRAY *nax = NULL;
84
+ GetNArray(xxa, nax);
85
+ size = nax->total;
86
+ ptr1 = (double *) nax->ptr;
89
87
  #endif
90
88
  } else {
91
89
  rb_raise(rb_eTypeError, "not a vector");
@@ -97,8 +95,9 @@ static VALUE rb_gsl_spline_init(VALUE obj, VALUE xxa, VALUE yya)
97
95
  flagy = 1;
98
96
  #ifdef HAVE_NARRAY_H
99
97
  } else if (NA_IsNArray(yya)) {
100
- GetNArray(yya, nay);
101
- ptr2 = (double *) nay->ptr;
98
+ struct NARRAY *nay = NULL;
99
+ GetNArray(yya, nay);
100
+ ptr2 = (double *) nay->ptr;
102
101
  #endif
103
102
  } else if (VECTOR_P(yya)) {
104
103
  Data_Get_Struct(yya, gsl_vector, ya);
@@ -120,8 +119,8 @@ static VALUE rb_gsl_spline_accel(VALUE obj)
120
119
  }
121
120
 
122
121
  static VALUE rb_gsl_spline_evaluate(VALUE obj, VALUE xx,
123
- double (*eval)(const gsl_spline *, double,
124
- gsl_interp_accel *))
122
+ double (*eval)(const gsl_spline *, double,
123
+ gsl_interp_accel *))
125
124
  {
126
125
  rb_gsl_spline *rgs = NULL;
127
126
  gsl_vector *v = NULL, *vnew = NULL;
@@ -129,10 +128,6 @@ static VALUE rb_gsl_spline_evaluate(VALUE obj, VALUE xx,
129
128
  VALUE ary, x;
130
129
  double val;
131
130
  size_t n, i, j;
132
- #ifdef HAVE_NARRAY_H
133
- double *ptr1 = NULL, *ptr2 = NULL;
134
- struct NARRAY *na = NULL;
135
- #endif
136
131
  Data_Get_Struct(obj, rb_gsl_spline, rgs);
137
132
  if (CLASS_OF(xx) == rb_cRange) xx = rb_gsl_range2ary(xx);
138
133
  switch (TYPE(xx)) {
@@ -155,13 +150,15 @@ static VALUE rb_gsl_spline_evaluate(VALUE obj, VALUE xx,
155
150
  default:
156
151
  #ifdef HAVE_NARRAY_H
157
152
  if (NA_IsNArray(xx)) {
153
+ double *ptr1 = NULL, *ptr2 = NULL;
154
+ struct NARRAY *na = NULL;
158
155
  GetNArray(xx, na);
159
156
  ptr1 = (double *) na->ptr;
160
157
  n = na->total;
161
158
  ary = na_make_object(NA_DFLOAT, na->rank, na->shape, CLASS_OF(xx));
162
159
  ptr2 = NA_PTR_TYPE(ary, double*);
163
- for (i = 0; i < n; i++)
164
- ptr2[i] = (*eval)(rgs->s, ptr1[i], rgs->a);
160
+ for (i = 0; i < n; i++)
161
+ ptr2[i] = (*eval)(rgs->s, ptr1[i], rgs->a);
165
162
  return ary;
166
163
  }
167
164
  #endif
@@ -169,18 +166,18 @@ static VALUE rb_gsl_spline_evaluate(VALUE obj, VALUE xx,
169
166
  Data_Get_Struct(xx, gsl_vector, v);
170
167
  vnew = gsl_vector_alloc(v->size);
171
168
  for (i = 0; i < v->size; i++) {
172
- val = (*eval)(rgs->s, gsl_vector_get(v, i), rgs->a);
173
- gsl_vector_set(vnew, i, val);
169
+ val = (*eval)(rgs->s, gsl_vector_get(v, i), rgs->a);
170
+ gsl_vector_set(vnew, i, val);
174
171
  }
175
172
  return Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, vnew);
176
173
  } else if (MATRIX_P(xx)) {
177
174
  Data_Get_Struct(xx, gsl_matrix, m);
178
175
  mnew = gsl_matrix_alloc(m->size1, m->size2);
179
176
  for (i = 0; i < m->size1; i++) {
180
- for (j = 0; j < m->size2; j++) {
181
- val = (*eval)(rgs->s, gsl_matrix_get(m, i, j), rgs->a);
182
- gsl_matrix_set(mnew, i, j, val);
183
- }
177
+ for (j = 0; j < m->size2; j++) {
178
+ val = (*eval)(rgs->s, gsl_matrix_get(m, i, j), rgs->a);
179
+ gsl_matrix_set(mnew, i, j, val);
180
+ }
184
181
  }
185
182
  return Data_Wrap_Struct(cgsl_matrix, 0, gsl_matrix_free, mnew);
186
183
  } else {
@@ -270,7 +267,7 @@ static VALUE rb_gsl_spline_eval_deriv_e(VALUE obj, VALUE xx)
270
267
  default:
271
268
  return rb_float_new(val);
272
269
  break;
273
- }
270
+ }
274
271
  return Qnil;
275
272
  }
276
273
 
@@ -289,7 +286,7 @@ static VALUE rb_gsl_spline_eval_deriv2_e(VALUE obj, VALUE xx)
289
286
  default:
290
287
  return rb_float_new(val);
291
288
  break;
292
- }
289
+ }
293
290
  return Qnil;
294
291
  }
295
292
 
@@ -308,7 +305,7 @@ static VALUE rb_gsl_spline_eval_integ_e(VALUE obj, VALUE a, VALUE b)
308
305
  default:
309
306
  return rb_float_new(val);
310
307
  break;
311
- }
308
+ }
312
309
  return Qnil;
313
310
  }
314
311
 
@@ -318,7 +315,7 @@ static VALUE rb_gsl_spline_info(VALUE obj)
318
315
  char buf[256];
319
316
  Data_Get_Struct(obj, rb_gsl_spline, p);
320
317
  sprintf(buf, "Class: %s\n", rb_class2name(CLASS_OF(obj)));
321
- // sprintf(buf, "%sSuperClass: %s\n", buf, rb_class2name(RCLASS(CLASS_OF(obj))->super));
318
+ sprintf(buf, "%sSuperClass: %s\n", buf, rb_class2name(RCLASS_SUPER(CLASS_OF(obj))));
322
319
  sprintf(buf, "%sType: %s\n", buf, gsl_interp_name(p->s->interp));
323
320
  sprintf(buf, "%sxmin: %f\n", buf, p->s->interp->xmin);
324
321
  sprintf(buf, "%sxmax: %f\n", buf, p->s->interp->xmax);
@@ -326,7 +323,6 @@ static VALUE rb_gsl_spline_info(VALUE obj)
326
323
  return rb_str_new2(buf);
327
324
  }
328
325
 
329
- #ifdef GSL_1_8_LATER
330
326
  static VALUE rb_gsl_spline_name(VALUE obj)
331
327
  {
332
328
  rb_gsl_spline *p = NULL;
@@ -340,17 +336,6 @@ static VALUE rb_gsl_spline_min_size(VALUE obj)
340
336
  return UINT2NUM(gsl_spline_min_size(sp->s));
341
337
  }
342
338
 
343
- #else
344
-
345
- static VALUE rb_gsl_spline_name(VALUE obj)
346
- {
347
- rb_gsl_spline *sp = NULL;
348
- Data_Get_Struct(obj, rb_gsl_spline, sp);
349
- return rb_str_new2(gsl_interp_name(sp->s->interp));
350
- }
351
-
352
- #endif
353
-
354
339
  void Init_gsl_spline(VALUE module)
355
340
  {
356
341
  VALUE cgsl_spline;
@@ -388,8 +373,5 @@ void Init_gsl_spline(VALUE module)
388
373
 
389
374
  rb_define_method(cgsl_spline, "info", rb_gsl_spline_info, 0);
390
375
 
391
- #ifdef GSL_1_8_LATER
392
376
  rb_define_method(cgsl_spline, "min_size", rb_gsl_spline_min_size, 0);
393
- #endif
394
-
395
377
  }
@@ -8,15 +8,12 @@
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_array.h"
13
- #include "rb_gsl_statistics.h"
14
- #ifdef HAVE_NARRAY_H
15
- #include "narray.h"
16
- #endif
17
11
 
18
- static double* get_vector_stats2(int argc, VALUE *argv, VALUE obj,
19
- size_t *stride, size_t *size)
12
+ #include "include/rb_gsl_array.h"
13
+ #include "include/rb_gsl_statistics.h"
14
+
15
+ static double* get_vector_stats2(int argc, VALUE *argv, VALUE obj,
16
+ size_t *stride, size_t *size)
20
17
  {
21
18
  double *v = NULL;
22
19
  switch (TYPE(obj)) {
@@ -32,7 +29,7 @@ static double* get_vector_stats2(int argc, VALUE *argv, VALUE obj,
32
29
  }
33
30
 
34
31
  static VALUE rb_gsl_stats_XXX(int argc, VALUE *argv, VALUE obj,
35
- double (*f)(const double*, size_t, size_t))
32
+ double (*f)(const double*, size_t, size_t))
36
33
  {
37
34
  size_t stride, size;
38
35
  double *data = NULL;
@@ -40,8 +37,8 @@ static VALUE rb_gsl_stats_XXX(int argc, VALUE *argv, VALUE obj,
40
37
  return rb_float_new((*f)(data, stride, size));
41
38
  }
42
39
 
43
- static VALUE rb_gsl_stats_XXX1(int argc, VALUE *argv, VALUE obj,
44
- double (*f)(const double*, size_t, size_t, double))
40
+ static VALUE rb_gsl_stats_XXX1(int argc, VALUE *argv, VALUE obj,
41
+ double (*f)(const double*, size_t, size_t, double))
45
42
  {
46
43
  size_t stride, size;
47
44
  double *data = NULL;
@@ -50,9 +47,9 @@ static VALUE rb_gsl_stats_XXX1(int argc, VALUE *argv, VALUE obj,
50
47
  return rb_float_new((*f)(data, stride, size, NUM2DBL(argv[argc-1])));
51
48
  }
52
49
 
53
- static VALUE rb_gsl_stats_XXX2(int argc, VALUE *argv, VALUE obj,
54
- double (*f)(const double*, size_t, size_t),
55
- double (*fm)(const double*, size_t, size_t, double, double))
50
+ static VALUE rb_gsl_stats_XXX2(int argc, VALUE *argv, VALUE obj,
51
+ double (*f)(const double*, size_t, size_t),
52
+ double (*fm)(const double*, size_t, size_t, double, double))
56
53
  {
57
54
  double x, a, b, *data = NULL;
58
55
  size_t stride, size;
@@ -69,8 +66,8 @@ static VALUE rb_gsl_stats_XXX2(int argc, VALUE *argv, VALUE obj,
69
66
  x = (*f)(data, stride, size);
70
67
  break;
71
68
  default:
72
- rb_raise(rb_eArgError,
73
- "wrong number of arguments (%d for 1 or 2)", argc);
69
+ rb_raise(rb_eArgError,
70
+ "wrong number of arguments (%d for 1 or 2)", argc);
74
71
  break;
75
72
  }
76
73
  break;
@@ -86,8 +83,8 @@ static VALUE rb_gsl_stats_XXX2(int argc, VALUE *argv, VALUE obj,
86
83
  x = (*fm)(data, stride, size, a, b);
87
84
  break;
88
85
  default:
89
- rb_raise(rb_eArgError,
90
- "wrong number of arguments (%d for 0 or 1)", argc);
86
+ rb_raise(rb_eArgError,
87
+ "wrong number of arguments (%d for 0 or 1)", argc);
91
88
  break;
92
89
  }
93
90
  break;
@@ -101,8 +98,8 @@ static VALUE rb_gsl_stats_mean(int argc, VALUE *argv, VALUE obj)
101
98
  }
102
99
 
103
100
  static VALUE rb_gsl_stats_XXX_m(int argc, VALUE *argv, VALUE obj,
104
- double (*f)(const double*, size_t, size_t),
105
- double (*fm)(const double*, size_t, size_t, double))
101
+ double (*f)(const double*, size_t, size_t),
102
+ double (*fm)(const double*, size_t, size_t, double))
106
103
  {
107
104
  double x, mean, *data = NULL;
108
105
  size_t stride, size;
@@ -119,8 +116,8 @@ static VALUE rb_gsl_stats_XXX_m(int argc, VALUE *argv, VALUE obj,
119
116
  x = (*f)(data, stride, size);
120
117
  break;
121
118
  default:
122
- rb_raise(rb_eArgError,
123
- "wrong number of arguments (%d for 1 or 2)", argc);
119
+ rb_raise(rb_eArgError,
120
+ "wrong number of arguments (%d for 1 or 2)", argc);
124
121
  break;
125
122
  }
126
123
  break;
@@ -136,8 +133,8 @@ static VALUE rb_gsl_stats_XXX_m(int argc, VALUE *argv, VALUE obj,
136
133
  x = (*fm)(data, stride, size, mean);
137
134
  break;
138
135
  default:
139
- rb_raise(rb_eArgError,
140
- "wrong number of arguments (%d for 0 or 1)", argc);
136
+ rb_raise(rb_eArgError,
137
+ "wrong number of arguments (%d for 0 or 1)", argc);
141
138
  break;
142
139
  }
143
140
  break;
@@ -148,70 +145,68 @@ static VALUE rb_gsl_stats_XXX_m(int argc, VALUE *argv, VALUE obj,
148
145
  static VALUE rb_gsl_stats_variance_m(int argc, VALUE *argv, VALUE obj)
149
146
  {
150
147
  return rb_gsl_stats_XXX_m(argc, argv, obj,
151
- gsl_stats_variance, gsl_stats_variance_m);
148
+ gsl_stats_variance, gsl_stats_variance_m);
152
149
  }
153
150
 
154
151
  static VALUE rb_gsl_stats_sd_m(int argc, VALUE *argv, VALUE obj)
155
152
  {
156
153
  return rb_gsl_stats_XXX_m(argc, argv, obj,
157
- gsl_stats_sd, gsl_stats_sd_m);
154
+ gsl_stats_sd, gsl_stats_sd_m);
158
155
  }
159
156
 
160
- #ifdef GSL_1_11_LATER
161
157
  static VALUE rb_gsl_stats_tss_m(int argc, VALUE *argv, VALUE obj)
162
158
  {
163
159
  return rb_gsl_stats_XXX_m(argc, argv, obj,
164
- gsl_stats_tss, gsl_stats_tss_m);
160
+ gsl_stats_tss, gsl_stats_tss_m);
165
161
  }
166
- #endif
167
162
 
168
- static VALUE rb_gsl_stats_variance_with_fixed_mean(int argc, VALUE *argv,
169
- VALUE obj)
163
+ static VALUE rb_gsl_stats_variance_with_fixed_mean(int argc, VALUE *argv,
164
+ VALUE obj)
170
165
  {
171
166
  return rb_gsl_stats_XXX1(argc, argv, obj,
172
- gsl_stats_variance_with_fixed_mean);
167
+ gsl_stats_variance_with_fixed_mean);
173
168
  }
174
169
 
175
- static VALUE rb_gsl_stats_sd_with_fixed_mean(int argc, VALUE *argv,
176
- VALUE obj)
170
+ static VALUE rb_gsl_stats_sd_with_fixed_mean(int argc, VALUE *argv,
171
+ VALUE obj)
177
172
  {
178
173
  return rb_gsl_stats_XXX1(argc, argv, obj,
179
- gsl_stats_sd_with_fixed_mean);
174
+ gsl_stats_sd_with_fixed_mean);
180
175
  }
181
176
 
182
177
  static VALUE rb_gsl_stats_absdev_m(int argc, VALUE *argv, VALUE obj)
183
178
  {
184
179
  return rb_gsl_stats_XXX_m(argc, argv, obj,
185
- gsl_stats_absdev, gsl_stats_absdev_m);
180
+ gsl_stats_absdev, gsl_stats_absdev_m);
186
181
  }
187
182
 
188
- static VALUE rb_gsl_stats_skew(int argc, VALUE *argv,
189
- VALUE obj)
183
+ static VALUE rb_gsl_stats_skew(int argc, VALUE *argv,
184
+ VALUE obj)
190
185
  {
191
186
  return rb_gsl_stats_XXX2(argc, argv, obj,
192
- gsl_stats_skew,
193
- gsl_stats_skew_m_sd);
187
+ gsl_stats_skew,
188
+ gsl_stats_skew_m_sd);
194
189
  }
195
190
 
196
- static VALUE rb_gsl_stats_kurtosis(int argc, VALUE *argv,
197
- VALUE obj)
191
+ static VALUE rb_gsl_stats_kurtosis(int argc, VALUE *argv,
192
+ VALUE obj)
198
193
  {
199
194
  return rb_gsl_stats_XXX2(argc, argv, obj,
200
- gsl_stats_kurtosis,
201
- gsl_stats_kurtosis_m_sd);
195
+ gsl_stats_kurtosis,
196
+ gsl_stats_kurtosis_m_sd);
202
197
  }
203
198
 
204
199
  static VALUE rb_gsl_stats_lag1_autocorrelation(int argc, VALUE *argv, VALUE obj)
205
200
  {
206
201
  return rb_gsl_stats_XXX_m(argc, argv, obj,
207
- gsl_stats_lag1_autocorrelation, gsl_stats_lag1_autocorrelation_m);
202
+ gsl_stats_lag1_autocorrelation, gsl_stats_lag1_autocorrelation_m);
208
203
  }
209
204
 
210
205
  /****************************/
211
206
 
212
- static void get_vector_stats3(int argc, VALUE *argv, VALUE obj,
213
- double **w, size_t *stridew, size_t *sizew,
214
- double **x, size_t *stridex, size_t *sizex)
207
+ static void get_vector_stats3(int argc, VALUE *argv, VALUE obj,
208
+ double **w, size_t *stridew, size_t *sizew,
209
+ double **x, size_t *stridex, size_t *sizex)
215
210
  {
216
211
  switch (TYPE(obj)) {
217
212
  case T_MODULE: case T_CLASS: case T_OBJECT:
@@ -228,8 +223,8 @@ static void get_vector_stats3(int argc, VALUE *argv, VALUE obj,
228
223
  }
229
224
 
230
225
  static VALUE rb_gsl_stats_wXXX(int argc, VALUE *argv, VALUE obj,
231
- double (*f)(const double*, size_t, const double*,
232
- size_t, size_t))
226
+ double (*f)(const double*, size_t, const double*,
227
+ size_t, size_t))
233
228
  {
234
229
  double *w, *x;
235
230
  double mean;
@@ -240,8 +235,8 @@ static VALUE rb_gsl_stats_wXXX(int argc, VALUE *argv, VALUE obj,
240
235
  }
241
236
 
242
237
  static VALUE rb_gsl_stats_wXXX_m(int argc, VALUE *argv, VALUE obj,
243
- double (*f)(const double*, size_t, const double*,
244
- size_t, size_t, double))
238
+ double (*f)(const double*, size_t, const double*,
239
+ size_t, size_t, double))
245
240
  {
246
241
  double *w, *x;
247
242
  double mean;
@@ -314,7 +309,7 @@ static VALUE rb_gsl_stats_wskew_m_sd(VALUE obj, VALUE ww, VALUE wm, VALUE wsd)
314
309
  x = get_vector_ptr(obj, &stridex, &sizex);
315
310
  w = get_vector_ptr(ww, &stridew, &sizew);
316
311
  skew_m = gsl_stats_wskew_m_sd(w, stridew, x, stridex, sizex, NUM2DBL(wm),
317
- NUM2DBL(wsd));
312
+ NUM2DBL(wsd));
318
313
  return rb_float_new(skew_m);
319
314
  }
320
315
 
@@ -326,7 +321,7 @@ static VALUE rb_gsl_stats_wkurtosis_m_sd(VALUE obj, VALUE ww, VALUE wm, VALUE ws
326
321
  x = get_vector_ptr(obj, &stridex, &sizex);
327
322
  w = get_vector_ptr(ww, &stridew, &sizew);
328
323
  kurtosis_m = gsl_stats_wkurtosis_m_sd(w, stridew, x, stridex, sizex, NUM2DBL(wm),
329
- NUM2DBL(wsd));
324
+ NUM2DBL(wsd));
330
325
  return rb_float_new(kurtosis_m);
331
326
  }
332
327
 
@@ -409,7 +404,7 @@ static VALUE rb_gsl_stats_median(int argc, VALUE *argv, VALUE obj)
409
404
  static VALUE rb_gsl_stats_quantile_from_sorted_data(int argc, VALUE *argv, VALUE obj)
410
405
  {
411
406
  return rb_gsl_stats_XXX1(argc, argv, obj,
412
- gsl_stats_quantile_from_sorted_data);
407
+ gsl_stats_quantile_from_sorted_data);
413
408
  /* size_t stride, size;
414
409
  double quantile, *data = NULL;
415
410
  data = get_vector_ptr(obj, &stride, &size);
@@ -437,21 +432,20 @@ static VALUE rb_gsl_stats_covariance2(VALUE obj, VALUE vv1, VALUE vv2)
437
432
  data1 = get_vector_ptr(vv1, &stride1, &size);
438
433
  data2 = get_vector_ptr(vv2, &stride2, &size);
439
434
  return rb_float_new(gsl_stats_covariance(data1, stride1, data2,
440
- stride2, size));
435
+ stride2, size));
441
436
  }
442
437
 
443
438
  static VALUE rb_gsl_stats_covariance_m2(VALUE obj, VALUE vv1, VALUE vv2,
444
- VALUE m1, VALUE m2)
439
+ VALUE m1, VALUE m2)
445
440
  {
446
441
  double *data1, *data2;
447
442
  size_t stride1, stride2, size;
448
443
  data1 = get_vector_ptr(vv1, &stride1, &size);
449
444
  data2 = get_vector_ptr(vv2, &stride2, &size);
450
445
  return rb_float_new(gsl_stats_covariance_m(data1, stride1, data2,
451
- stride2, size, NUM2DBL(m1), NUM2DBL(m2)));
446
+ stride2, size, NUM2DBL(m1), NUM2DBL(m2)));
452
447
  }
453
448
 
454
- #ifdef GSL_1_10_LATER
455
449
  static VALUE rb_gsl_stats_correlation(VALUE obj, VALUE vv1, VALUE vv2)
456
450
  {
457
451
  double *data1, *data2;
@@ -459,7 +453,7 @@ static VALUE rb_gsl_stats_correlation(VALUE obj, VALUE vv1, VALUE vv2)
459
453
  data1 = get_vector_ptr(vv1, &stride1, &size);
460
454
  data2 = get_vector_ptr(vv2, &stride2, &size);
461
455
  return rb_float_new(gsl_stats_correlation(data1, stride1, data2,
462
- stride2, size));
456
+ stride2, size));
463
457
  }
464
458
  static VALUE rb_gsl_stats_pvariance(VALUE obj, VALUE vv1, VALUE vv2)
465
459
  {
@@ -468,7 +462,7 @@ static VALUE rb_gsl_stats_pvariance(VALUE obj, VALUE vv1, VALUE vv2)
468
462
  data1 = get_vector_ptr(vv1, &stride1, &size1);
469
463
  data2 = get_vector_ptr(vv2, &stride2, &size2);
470
464
  return rb_float_new(gsl_stats_pvariance(data1, stride1, size1, data2,
471
- stride2, size2));
465
+ stride2, size2));
472
466
  }
473
467
  static VALUE rb_gsl_stats_ttest(VALUE obj, VALUE vv1, VALUE vv2)
474
468
  {
@@ -477,9 +471,8 @@ static VALUE rb_gsl_stats_ttest(VALUE obj, VALUE vv1, VALUE vv2)
477
471
  data1 = get_vector_ptr(vv1, &stride1, &size1);
478
472
  data2 = get_vector_ptr(vv2, &stride2, &size2);
479
473
  return rb_float_new(gsl_stats_ttest(data1, stride1, size1, data2,
480
- stride2, size2));
474
+ stride2, size2));
481
475
  }
482
- #endif
483
476
 
484
477
  static VALUE rb_gsl_stats_wmean2(VALUE obj, VALUE ww, VALUE dd)
485
478
  {
@@ -535,8 +528,8 @@ static VALUE rb_gsl_stats_wsd_m2(VALUE obj, VALUE ww, VALUE dd, VALUE mm)
535
528
  return rb_float_new(wsd);
536
529
  }
537
530
 
538
- static VALUE rb_gsl_stats_wvariance_with_fixed_mean2(VALUE obj, VALUE ww, VALUE dd,
539
- VALUE mm)
531
+ static VALUE rb_gsl_stats_wvariance_with_fixed_mean2(VALUE obj, VALUE ww, VALUE dd,
532
+ VALUE mm)
540
533
  {
541
534
  double wvariance, m;
542
535
  double *dataw = NULL, *data = NULL;
@@ -544,14 +537,14 @@ static VALUE rb_gsl_stats_wvariance_with_fixed_mean2(VALUE obj, VALUE ww, VALUE
544
537
  dataw = get_vector_ptr(ww, &stridew, &size);
545
538
  data = get_vector_ptr(dd, &strided, &size);
546
539
  m = NUM2DBL(mm);
547
- wvariance = gsl_stats_wvariance_with_fixed_mean(dataw, stridew,
548
- data, strided, size, m);
540
+ wvariance = gsl_stats_wvariance_with_fixed_mean(dataw, stridew,
541
+ data, strided, size, m);
549
542
 
550
543
  return rb_float_new(wvariance);
551
544
  }
552
545
 
553
- static VALUE rb_gsl_stats_wsd_with_fixed_mean2(VALUE obj, VALUE ww, VALUE dd,
554
- VALUE mm)
546
+ static VALUE rb_gsl_stats_wsd_with_fixed_mean2(VALUE obj, VALUE ww, VALUE dd,
547
+ VALUE mm)
555
548
  {
556
549
  double wsd, m;
557
550
  double *dataw = NULL, *data = NULL;
@@ -651,10 +644,8 @@ void Init_gsl_stats(VALUE module)
651
644
 
652
645
  rb_define_singleton_method(mgsl_stats, "sd", rb_gsl_stats_sd_m, -1);
653
646
  rb_define_singleton_method(mgsl_stats, "sd_m", rb_gsl_stats_sd_m, -1);
654
- #ifdef GSL_1_11_LATER
655
647
  rb_define_singleton_method(mgsl_stats, "tss", rb_gsl_stats_tss_m, -1);
656
648
  rb_define_singleton_method(mgsl_stats, "tss_m", rb_gsl_stats_tss_m, -1);
657
- #endif
658
649
  rb_define_singleton_method(mgsl_stats, "sdev", rb_gsl_stats_sd_m, -1);
659
650
  rb_define_singleton_method(mgsl_stats, "sigma", rb_gsl_stats_sd_m, -1);
660
651
  rb_define_method(cgsl_vector, "stats_sd_m", rb_gsl_stats_sd_m, -1);
@@ -663,26 +654,24 @@ void Init_gsl_stats(VALUE module)
663
654
  rb_define_alias(cgsl_vector, "sd", "stats_sd_m");
664
655
  rb_define_alias(cgsl_vector, "sigma", "stats_sd_m");
665
656
  rb_define_alias(cgsl_vector, "sdev", "stats_sd_m");
666
- #ifdef GSL_1_11_LATER
667
657
  rb_define_method(cgsl_vector, "stats_tss_m", rb_gsl_stats_tss_m, -1);
668
658
  rb_define_alias(cgsl_vector, "stats_tss", "stats_tss_m");
669
659
  rb_define_alias(cgsl_vector, "tss_m", "stats_tss_m");
670
660
  rb_define_alias(cgsl_vector, "tss", "stats_tss_m");
671
- #endif
672
-
673
- rb_define_singleton_method(mgsl_stats, "variance_with_fixed_mean",
674
- rb_gsl_stats_variance_with_fixed_mean, -1);
675
- rb_define_method(cgsl_vector, "stats_variance_with_fixed_mean",
676
- rb_gsl_stats_variance_with_fixed_mean, -1);
677
- rb_define_alias(cgsl_vector, "variance_with_fixed_mean",
678
- "stats_variance_with_fixed_mean");
679
-
680
- rb_define_singleton_method(mgsl_stats, "sd_with_fixed_mean",
681
- rb_gsl_stats_sd_with_fixed_mean, -1);
682
- rb_define_method(cgsl_vector, "stats_sd_with_fixed_mean",
683
- rb_gsl_stats_sd_with_fixed_mean, -1);
684
- rb_define_alias(cgsl_vector, "sd_with_fixed_mean",
685
- "stats_sd_with_fixed_mean");
661
+
662
+ rb_define_singleton_method(mgsl_stats, "variance_with_fixed_mean",
663
+ rb_gsl_stats_variance_with_fixed_mean, -1);
664
+ rb_define_method(cgsl_vector, "stats_variance_with_fixed_mean",
665
+ rb_gsl_stats_variance_with_fixed_mean, -1);
666
+ rb_define_alias(cgsl_vector, "variance_with_fixed_mean",
667
+ "stats_variance_with_fixed_mean");
668
+
669
+ rb_define_singleton_method(mgsl_stats, "sd_with_fixed_mean",
670
+ rb_gsl_stats_sd_with_fixed_mean, -1);
671
+ rb_define_method(cgsl_vector, "stats_sd_with_fixed_mean",
672
+ rb_gsl_stats_sd_with_fixed_mean, -1);
673
+ rb_define_alias(cgsl_vector, "sd_with_fixed_mean",
674
+ "stats_sd_with_fixed_mean");
686
675
 
687
676
  rb_define_singleton_method(mgsl_stats, "absdev", rb_gsl_stats_absdev_m, -1);
688
677
  rb_define_singleton_method(mgsl_stats, "absdev_m", rb_gsl_stats_absdev_m, -1);
@@ -710,24 +699,22 @@ void Init_gsl_stats(VALUE module)
710
699
 
711
700
  rb_define_singleton_method(mgsl_stats, "covariance", rb_gsl_stats_covariance2, 2);
712
701
  rb_define_singleton_method(mgsl_stats, "covariance_m", rb_gsl_stats_covariance_m2, 4);
713
-
714
- #ifdef GSL_1_10_LATER
715
- rb_define_singleton_method(mgsl_stats, "correlation", rb_gsl_stats_correlation, 2);
716
- rb_define_singleton_method(mgsl_stats, "pvariance", rb_gsl_stats_pvariance, 2);
717
- rb_define_singleton_method(mgsl_stats, "ttest", rb_gsl_stats_ttest, 2);
718
- #endif
702
+
703
+ rb_define_singleton_method(mgsl_stats, "correlation", rb_gsl_stats_correlation, 2);
704
+ rb_define_singleton_method(mgsl_stats, "pvariance", rb_gsl_stats_pvariance, 2);
705
+ rb_define_singleton_method(mgsl_stats, "ttest", rb_gsl_stats_ttest, 2);
719
706
 
720
707
  /*****/
721
-
708
+
722
709
  rb_define_singleton_method(mgsl_stats, "wmean", rb_gsl_stats_wmean2, -1);
723
710
  rb_define_singleton_method(mgsl_stats, "wvariance", rb_gsl_stats_wvariance2, -1);
724
711
  rb_define_singleton_method(mgsl_stats, "wvariance_m", rb_gsl_stats_wvariance_m2, -1);
725
712
  rb_define_singleton_method(mgsl_stats, "wsd", rb_gsl_stats_wsd2, -1);
726
713
  rb_define_singleton_method(mgsl_stats, "wsd_m", rb_gsl_stats_wsd_m2, -1);
727
- rb_define_singleton_method(mgsl_stats, "wvariance_with_fixed_mean",
728
- rb_gsl_stats_wvariance_with_fixed_mean2, -1);
729
- rb_define_singleton_method(mgsl_stats, "wsd_with_fixed_mean",
730
- rb_gsl_stats_wsd_with_fixed_mean2, -1);
714
+ rb_define_singleton_method(mgsl_stats, "wvariance_with_fixed_mean",
715
+ rb_gsl_stats_wvariance_with_fixed_mean2, -1);
716
+ rb_define_singleton_method(mgsl_stats, "wsd_with_fixed_mean",
717
+ rb_gsl_stats_wsd_with_fixed_mean2, -1);
731
718
  rb_define_singleton_method(mgsl_stats, "wabsdev", rb_gsl_stats_wabsdev2, -1);
732
719
  rb_define_singleton_method(mgsl_stats, "wabsdev_m", rb_gsl_stats_wabsdev_m2, -1);
733
720
  rb_define_singleton_method(mgsl_stats, "wskew", rb_gsl_stats_wskew2, -1);
@@ -747,12 +734,12 @@ void Init_gsl_stats(VALUE module)
747
734
  rb_define_alias(cgsl_vector, "wsd", "stats_wsd");
748
735
  rb_define_method(cgsl_vector, "stats_wsd_m", rb_gsl_stats_wsd_m, -1);
749
736
  rb_define_alias(cgsl_vector, "wsd_m", "stats_wsd_m");
750
- rb_define_method(cgsl_vector, "stats_wvariance_with_fixed_mean",
751
- rb_gsl_stats_wvariance_with_fixed_mean, -1);
752
- rb_define_alias(cgsl_vector, "wvariance_with_fixed_mean",
753
- "stats_wvariance_with_fixed_mean");
754
- rb_define_method(cgsl_vector, "stats_wsd_with_fixed_mean",
755
- rb_gsl_stats_wsd_with_fixed_mean, -1);
737
+ rb_define_method(cgsl_vector, "stats_wvariance_with_fixed_mean",
738
+ rb_gsl_stats_wvariance_with_fixed_mean, -1);
739
+ rb_define_alias(cgsl_vector, "wvariance_with_fixed_mean",
740
+ "stats_wvariance_with_fixed_mean");
741
+ rb_define_method(cgsl_vector, "stats_wsd_with_fixed_mean",
742
+ rb_gsl_stats_wsd_with_fixed_mean, -1);
756
743
  rb_define_alias(cgsl_vector, "wsd_with_fixed_mean", "stats_wsd_with_fixed_mean");
757
744
  rb_define_method(cgsl_vector, "stats_wabsdev", rb_gsl_stats_wabsdev, -1);
758
745
  rb_define_alias(cgsl_vector, "wabsdev", "stats_wabsdev");
@@ -764,8 +751,8 @@ void Init_gsl_stats(VALUE module)
764
751
  rb_define_alias(cgsl_vector, "wskew_m_sd", "stats_wskew_m_sd");
765
752
  rb_define_method(cgsl_vector, "stats_wkurtosis", rb_gsl_stats_wkurtosis, -1);
766
753
  rb_define_alias(cgsl_vector, "wkurtosis", "stats_wkurtosis");
767
- rb_define_method(cgsl_vector, "stats_wkurtosis_m_sd",
768
- rb_gsl_stats_wkurtosis_m_sd, 2);
754
+ rb_define_method(cgsl_vector, "stats_wkurtosis_m_sd",
755
+ rb_gsl_stats_wkurtosis_m_sd, 2);
769
756
  rb_define_alias(cgsl_vector, "wkurtosis_m_sd", "stats_wkurtosis_m_sd");
770
757
 
771
758
  /*****/
@@ -774,8 +761,8 @@ void Init_gsl_stats(VALUE module)
774
761
  rb_define_singleton_method(mgsl_stats, "minmax", rb_gsl_stats_minmax, -1);
775
762
  rb_define_singleton_method(mgsl_stats, "max_index", rb_gsl_stats_max_index, -1);
776
763
  rb_define_singleton_method(mgsl_stats, "min_index", rb_gsl_stats_min_index, -1);
777
- rb_define_singleton_method(mgsl_stats, "minmax_index",
778
- rb_gsl_stats_minmax_index, -1);
764
+ rb_define_singleton_method(mgsl_stats, "minmax_index",
765
+ rb_gsl_stats_minmax_index, -1);
779
766
 
780
767
  rb_define_method(cgsl_vector, "stats_max", rb_gsl_stats_max, -1);
781
768
  rb_define_method(cgsl_vector, "stats_min", rb_gsl_stats_min, -1);
@@ -784,17 +771,17 @@ void Init_gsl_stats(VALUE module)
784
771
  rb_define_method(cgsl_vector, "stats_min_index", rb_gsl_stats_min_index, -1);
785
772
  rb_define_method(cgsl_vector, "stats_minmax_index", rb_gsl_stats_minmax_index, -1);
786
773
 
787
- rb_define_singleton_method(mgsl_stats, "median_from_sorted_data",
788
- rb_gsl_stats_median_from_sorted_data, -1);
789
- rb_define_method(cgsl_vector, "stats_median_from_sorted_data",
790
- rb_gsl_stats_median_from_sorted_data, -1);
791
- rb_define_alias(cgsl_vector, "median_from_sorted_data",
792
- "stats_median_from_sorted_data");
774
+ rb_define_singleton_method(mgsl_stats, "median_from_sorted_data",
775
+ rb_gsl_stats_median_from_sorted_data, -1);
776
+ rb_define_method(cgsl_vector, "stats_median_from_sorted_data",
777
+ rb_gsl_stats_median_from_sorted_data, -1);
778
+ rb_define_alias(cgsl_vector, "median_from_sorted_data",
779
+ "stats_median_from_sorted_data");
793
780
  rb_define_method(cgsl_vector, "median", rb_gsl_stats_median, -1);
794
781
 
795
- rb_define_method(cgsl_vector, "stats_quantile_from_sorted_data",
796
- rb_gsl_stats_quantile_from_sorted_data, -1);
797
- rb_define_alias(cgsl_vector, "quantile_from_sorted_data",
798
- "stats_quantile_from_sorted_data");
782
+ rb_define_method(cgsl_vector, "stats_quantile_from_sorted_data",
783
+ rb_gsl_stats_quantile_from_sorted_data, -1);
784
+ rb_define_alias(cgsl_vector, "quantile_from_sorted_data",
785
+ "stats_quantile_from_sorted_data");
799
786
 
800
787
  }