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,19 +9,16 @@
9
9
  WITHOUT ANY WARRANTY.
10
10
  */
11
11
 
12
- #include "rb_gsl_config.h"
13
12
  #include <gsl/gsl_math.h>
14
- #include "rb_gsl_array.h"
15
- #include "rb_gsl_common.h"
16
- #include "rb_gsl_linalg.h"
13
+ #include "include/rb_gsl_array.h"
14
+ #include "include/rb_gsl_common.h"
15
+ #include "include/rb_gsl_linalg.h"
17
16
 
18
17
  EXTERN VALUE mgsl_linalg;
19
18
  EXTERN VALUE cgsl_complex;
20
19
 
21
20
  static VALUE cgsl_matrix_complex_LU;
22
- #ifdef GSL_1_10_LATER
23
21
  static VALUE cgsl_matrix_complex_C;
24
- #endif
25
22
 
26
23
  VALUE rb_gsl_linalg_complex_LU_decomp(int argc, VALUE *argv, VALUE obj)
27
24
  {
@@ -36,7 +33,7 @@ VALUE rb_gsl_linalg_complex_LU_decomp(int argc, VALUE *argv, VALUE obj)
36
33
  case T_CLASS:
37
34
  case T_OBJECT:
38
35
  if (argc != 1) rb_raise(rb_eArgError, "wrong number of arguments (%d for 1)",
39
- argc);
36
+ argc);
40
37
  CHECK_MATRIX_COMPLEX(argv[0]);
41
38
  Data_Get_Struct(argv[0], gsl_matrix_complex, m);
42
39
  itmp = 1;
@@ -51,8 +48,8 @@ VALUE rb_gsl_linalg_complex_LU_decomp(int argc, VALUE *argv, VALUE obj)
51
48
  case 0:
52
49
  p = gsl_permutation_alloc(size);
53
50
  gsl_linalg_complex_LU_decomp(m, p, &signum);
54
- if (itmp == 1) RBASIC(argv[0])->klass = cgsl_matrix_complex_LU;
55
- else RBASIC(obj)->klass = cgsl_matrix_complex_LU;
51
+ if (itmp == 1) RBGSL_SET_CLASS(argv[0], cgsl_matrix_complex_LU);
52
+ else RBGSL_SET_CLASS(obj, cgsl_matrix_complex_LU);
56
53
  obj2 = Data_Wrap_Struct(cgsl_permutation, 0, gsl_permutation_free, p);
57
54
  return rb_ary_new3(2, obj2, INT2FIX(signum));
58
55
  break;
@@ -60,8 +57,8 @@ VALUE rb_gsl_linalg_complex_LU_decomp(int argc, VALUE *argv, VALUE obj)
60
57
  CHECK_PERMUTATION(argv[itmp]);
61
58
  Data_Get_Struct(argv[itmp], gsl_permutation, p);
62
59
  gsl_linalg_complex_LU_decomp(m, p, &signum);
63
- if (itmp == 1) RBASIC(argv[0])->klass = cgsl_matrix_complex_LU;
64
- else RBASIC(obj)->klass = cgsl_matrix_complex_LU;
60
+ if (itmp == 1) RBGSL_SET_CLASS(argv[0], cgsl_matrix_complex_LU);
61
+ else RBGSL_SET_CLASS(obj, cgsl_matrix_complex_LU);
65
62
  return INT2FIX(signum);
66
63
  break;
67
64
  default:
@@ -82,7 +79,7 @@ VALUE rb_gsl_linalg_complex_LU_decomp2(int argc, VALUE *argv, VALUE obj)
82
79
  case T_CLASS:
83
80
  case T_OBJECT:
84
81
  if (argc != 1) rb_raise(rb_eArgError, "wrong number of arguments (%d for 1)",
85
- argc);
82
+ argc);
86
83
  CHECK_MATRIX_COMPLEX(argv[0]);
87
84
  Data_Get_Struct(argv[0], gsl_matrix_complex, m);
88
85
  itmp = 1;
@@ -101,13 +98,13 @@ VALUE rb_gsl_linalg_complex_LU_decomp2(int argc, VALUE *argv, VALUE obj)
101
98
  p = gsl_permutation_alloc(size);
102
99
  gsl_linalg_complex_LU_decomp(mnew, p, &signum);
103
100
  obj2 = Data_Wrap_Struct(cgsl_permutation, 0, gsl_permutation_free, p);
104
- return rb_ary_new3(3, objm ,obj2, INT2FIX(signum));
101
+ return rb_ary_new3(3, objm,obj2, INT2FIX(signum));
105
102
  break;
106
103
  case 1: /* when a permutation object is given */
107
104
  CHECK_PERMUTATION(argv[itmp]);
108
105
  Data_Get_Struct(argv[itmp], gsl_permutation, p);
109
106
  gsl_linalg_complex_LU_decomp(m, p, &signum);
110
- return rb_ary_new3(3, objm , argv[itmp], INT2FIX(signum));
107
+ return rb_ary_new3(3, objm, argv[itmp], INT2FIX(signum));
111
108
  break;
112
109
  default:
113
110
  rb_raise(rb_eArgError, "Usage: LU_decomp!() or LU_decomp!(permutation)");
@@ -120,14 +117,13 @@ static VALUE rb_gsl_linalg_complex_LU_solve(int argc, VALUE *argv, VALUE obj)
120
117
  gsl_permutation *p = NULL;
121
118
  gsl_vector_complex *b = NULL, *x = NULL;
122
119
  int flagm = 0, flagx = 0, itmp, signum;
123
-
120
+
124
121
  switch (TYPE(obj)) {
125
122
  case T_MODULE:
126
123
  case T_CLASS:
127
124
  case T_OBJECT:
128
- if (argc < 2 || argc > 4)
125
+ if (argc < 2 || argc > 4)
129
126
  rb_raise(rb_eArgError, "Usage: solve(m, b), solve(m, b, x), solve(lu, p, b), solve(lu, p, b, x)");
130
-
131
127
  CHECK_MATRIX(argv[0]);
132
128
  Data_Get_Struct(argv[0], gsl_matrix_complex, m);
133
129
  if (CLASS_OF(argv[0]) != cgsl_matrix_complex_LU) {
@@ -140,7 +136,7 @@ static VALUE rb_gsl_linalg_complex_LU_solve(int argc, VALUE *argv, VALUE obj)
140
136
  itmp = 1;
141
137
  break;
142
138
  default:
143
- if (argc < 1 || argc > 3)
139
+ if (argc < 1 || argc > 3)
144
140
  rb_raise(rb_eArgError, "Usage: LU_solve(b), LU_solve(p, b), LU_solve(b, x), solve(p, b, x)");
145
141
  Data_Get_Struct(obj, gsl_matrix_complex, m);
146
142
  if (CLASS_OF(obj) != cgsl_matrix_complex_LU) {
@@ -186,7 +182,7 @@ static VALUE rb_gsl_linalg_complex_LU_svx(int argc, VALUE *argv, VALUE obj)
186
182
  gsl_permutation *p = NULL;
187
183
  gsl_vector_complex *x = NULL;
188
184
  int flagm = 0, itmp, signum;
189
-
185
+
190
186
  switch (TYPE(obj)) {
191
187
  case T_MODULE:
192
188
  case T_CLASS:
@@ -233,8 +229,8 @@ static VALUE rb_gsl_linalg_complex_LU_svx(int argc, VALUE *argv, VALUE obj)
233
229
  }
234
230
 
235
231
  static VALUE rb_gsl_linalg_complex_LU_refine(VALUE obj, VALUE vm,
236
- VALUE lu, VALUE pp, VALUE bb,
237
- VALUE xx)
232
+ VALUE lu, VALUE pp, VALUE bb,
233
+ VALUE xx)
238
234
  {
239
235
  gsl_matrix_complex *m = NULL, *mlu = NULL;
240
236
  gsl_permutation *p = NULL;
@@ -307,7 +303,6 @@ static VALUE rb_gsl_linalg_complex_LU_invert(int argc, VALUE *argv, VALUE obj)
307
303
  }
308
304
  return Data_Wrap_Struct(cgsl_matrix_complex, 0, gsl_matrix_complex_free, inverse);
309
305
  }
310
- #ifdef GSL_1_1_1_LATER
311
306
  static VALUE rb_gsl_linalg_complex_LU_det(int argc, VALUE *argv, VALUE obj)
312
307
  {
313
308
  gsl_matrix_complex *m = NULL, *mtmp = NULL;
@@ -390,7 +385,7 @@ static VALUE rb_gsl_linalg_complex_LU_lndet(int argc, VALUE *argv, VALUE obj)
390
385
  if (flagm == 1) {
391
386
  p = gsl_permutation_alloc(m->size1);
392
387
  gsl_linalg_complex_LU_decomp(mtmp, p, &signum);
393
- }
388
+ }
394
389
  lndet = gsl_linalg_complex_LU_lndet(mtmp);
395
390
  if (flagm == 1) {
396
391
  gsl_matrix_complex_free(mtmp);
@@ -447,9 +442,6 @@ static VALUE rb_gsl_linalg_complex_LU_sgndet(int argc, VALUE *argv, VALUE obj)
447
442
  }
448
443
  return vz;
449
444
  }
450
- #endif
451
-
452
- #ifdef GSL_1_10_LATER
453
445
 
454
446
  static VALUE rb_gsl_linalg_cholesky_decomp(int argc, VALUE *argv, VALUE obj)
455
447
  {
@@ -457,7 +449,7 @@ static VALUE rb_gsl_linalg_cholesky_decomp(int argc, VALUE *argv, VALUE obj)
457
449
  switch(TYPE(obj)) {
458
450
  case T_MODULE: case T_CLASS: case T_OBJECT:
459
451
  if (argc != 1) rb_raise(rb_eArgError, "wrong number of argument (%d for 1)",
460
- argc);
452
+ argc);
461
453
  CHECK_MATRIX_COMPLEX(argv[0]);
462
454
  Data_Get_Struct(argv[0], gsl_matrix_complex, Atmp);
463
455
  break;
@@ -480,13 +472,13 @@ static VALUE rb_gsl_linalg_cholesky_solve(int argc, VALUE *argv, VALUE obj)
480
472
  switch(TYPE(obj)) {
481
473
  case T_MODULE: case T_CLASS: case T_OBJECT:
482
474
  if (argc != 2) rb_raise(rb_eArgError, "wrong number of argument (%d for 2)",
483
- argc);
475
+ argc);
484
476
  vA = argv[0];
485
477
  vb = argv[1];
486
478
  break;
487
479
  default:
488
480
  if (argc != 1) rb_raise(rb_eArgError, "wrong number of argument (%d for 1)",
489
- argc);
481
+ argc);
490
482
  vA = obj;
491
483
  vb = argv[0];
492
484
  break;
@@ -520,13 +512,13 @@ static VALUE rb_gsl_linalg_cholesky_svx(int argc, VALUE *argv, VALUE obj)
520
512
  switch(TYPE(obj)) {
521
513
  case T_MODULE: case T_CLASS: case T_OBJECT:
522
514
  if (argc != 2) rb_raise(rb_eArgError, "wrong number of argument (%d for 2)",
523
- argc);
515
+ argc);
524
516
  vA = argv[0];
525
517
  vb = argv[1];
526
518
  break;
527
519
  default:
528
520
  if (argc != 1) rb_raise(rb_eArgError, "wrong number of argument (%d for 1)",
529
- argc);
521
+ argc);
530
522
  vA = obj;
531
523
  vb = argv[0];
532
524
  break;
@@ -573,7 +565,7 @@ static VALUE rb_gsl_linalg_complex_householder_hm(VALUE obj, VALUE t, VALUE vv,
573
565
  gsl_vector_complex *v = NULL;
574
566
  gsl_complex *tau;
575
567
  gsl_matrix_complex *A = NULL;
576
- CHECK_COMPLEX(t);
568
+ CHECK_COMPLEX(t);
577
569
  CHECK_VECTOR_COMPLEX(vv);
578
570
  CHECK_MATRIX_COMPLEX(aa);
579
571
  Data_Get_Struct(t, gsl_complex, tau);
@@ -588,7 +580,7 @@ static VALUE rb_gsl_linalg_complex_householder_mh(VALUE obj, VALUE t, VALUE vv,
588
580
  gsl_vector_complex *v = NULL;
589
581
  gsl_complex *tau;
590
582
  gsl_matrix_complex *A = NULL;
591
- CHECK_COMPLEX(t);
583
+ CHECK_COMPLEX(t);
592
584
  CHECK_VECTOR_COMPLEX(vv);
593
585
  CHECK_MATRIX_COMPLEX(aa);
594
586
  Data_Get_Struct(t, gsl_complex, tau);
@@ -602,7 +594,7 @@ static VALUE rb_gsl_linalg_complex_householder_hv(VALUE obj, VALUE t, VALUE vv,
602
594
  {
603
595
  gsl_vector_complex *v = NULL, *w = NULL;
604
596
  gsl_complex *tau;
605
- CHECK_COMPLEX(t);
597
+ CHECK_COMPLEX(t);
606
598
  CHECK_VECTOR_COMPLEX(vv);
607
599
  CHECK_VECTOR_COMPLEX(ww);
608
600
  Data_Get_Struct(t, gsl_complex, tau);
@@ -611,101 +603,97 @@ static VALUE rb_gsl_linalg_complex_householder_hv(VALUE obj, VALUE t, VALUE vv,
611
603
  gsl_linalg_complex_householder_hv(*tau, v, w);
612
604
  return ww;
613
605
  }
614
- #endif
615
606
 
616
607
  void Init_gsl_linalg_complex(VALUE module)
617
608
  {
618
609
  VALUE mgsl_linalg_complex;
619
610
  VALUE mgsl_linalg_complex_LU;
611
+ VALUE mgsl_linalg_complex_chol, mgsl_linalg_complex_Householder;
620
612
 
621
613
  mgsl_linalg_complex = rb_define_module_under(module, "Complex");
622
614
  mgsl_linalg_complex_LU = rb_define_module_under(mgsl_linalg_complex, "LU");
623
615
 
624
616
  cgsl_matrix_complex_LU = rb_define_class_under(mgsl_linalg_complex_LU,
625
- "LUMatrix", cgsl_matrix_complex);
617
+ "LUMatrix", cgsl_matrix_complex);
626
618
 
627
619
  rb_define_singleton_method(mgsl_linalg_complex, "LU_decomp!",
628
- rb_gsl_linalg_complex_LU_decomp, -1);
620
+ rb_gsl_linalg_complex_LU_decomp, -1);
629
621
  rb_define_singleton_method(mgsl_linalg_complex_LU, "decomp!",
630
- rb_gsl_linalg_complex_LU_decomp, -1);
631
- rb_define_method(cgsl_matrix_complex, "LU_decomp!",
632
- rb_gsl_linalg_complex_LU_decomp, -1);
622
+ rb_gsl_linalg_complex_LU_decomp, -1);
623
+ rb_define_method(cgsl_matrix_complex, "LU_decomp!",
624
+ rb_gsl_linalg_complex_LU_decomp, -1);
633
625
  rb_define_alias(cgsl_matrix_complex, "decomp!", "LU_decomp!");
634
626
 
635
627
  rb_define_singleton_method(mgsl_linalg_complex, "LU_decomp",
636
- rb_gsl_linalg_complex_LU_decomp2, -1);
628
+ rb_gsl_linalg_complex_LU_decomp2, -1);
637
629
  rb_define_singleton_method(mgsl_linalg_complex_LU, "decomp",
638
- rb_gsl_linalg_complex_LU_decomp2, -1);
639
- rb_define_method(cgsl_matrix_complex, "LU_decomp",
640
- rb_gsl_linalg_complex_LU_decomp2, -1);
630
+ rb_gsl_linalg_complex_LU_decomp2, -1);
631
+ rb_define_method(cgsl_matrix_complex, "LU_decomp",
632
+ rb_gsl_linalg_complex_LU_decomp2, -1);
641
633
  rb_define_alias(cgsl_matrix_complex, "decomp", "LU_decomp");
642
634
 
643
635
  rb_define_singleton_method(mgsl_linalg_complex, "LU_solve",
644
- rb_gsl_linalg_complex_LU_solve, -1);
636
+ rb_gsl_linalg_complex_LU_solve, -1);
645
637
  rb_define_singleton_method(mgsl_linalg_complex_LU, "solve",
646
- rb_gsl_linalg_complex_LU_solve, -1);
647
- rb_define_method(cgsl_matrix_complex, "LU_solve",
648
- rb_gsl_linalg_complex_LU_solve, -1);
649
- rb_define_method(cgsl_matrix_complex_LU, "solve",
650
- rb_gsl_linalg_complex_LU_solve, -1);
638
+ rb_gsl_linalg_complex_LU_solve, -1);
639
+ rb_define_method(cgsl_matrix_complex, "LU_solve",
640
+ rb_gsl_linalg_complex_LU_solve, -1);
641
+ rb_define_method(cgsl_matrix_complex_LU, "solve",
642
+ rb_gsl_linalg_complex_LU_solve, -1);
651
643
 
652
644
  rb_define_singleton_method(mgsl_linalg_complex, "LU_svx",
653
- rb_gsl_linalg_complex_LU_svx, -1);
645
+ rb_gsl_linalg_complex_LU_svx, -1);
654
646
  rb_define_singleton_method(mgsl_linalg_complex_LU, "svx",
655
- rb_gsl_linalg_complex_LU_svx, -1);
656
- rb_define_method(cgsl_matrix_complex, "LU_svx",
657
- rb_gsl_linalg_complex_LU_svx, -1);
658
- rb_define_method(cgsl_matrix_complex_LU, "svx",
659
- rb_gsl_linalg_complex_LU_svx, -1);
647
+ rb_gsl_linalg_complex_LU_svx, -1);
648
+ rb_define_method(cgsl_matrix_complex, "LU_svx",
649
+ rb_gsl_linalg_complex_LU_svx, -1);
650
+ rb_define_method(cgsl_matrix_complex_LU, "svx",
651
+ rb_gsl_linalg_complex_LU_svx, -1);
660
652
 
661
653
  rb_define_singleton_method(mgsl_linalg_complex, "LU_refine",
662
- rb_gsl_linalg_complex_LU_refine, 5);
654
+ rb_gsl_linalg_complex_LU_refine, 5);
663
655
  rb_define_singleton_method(mgsl_linalg_complex_LU, "refine",
664
- rb_gsl_linalg_complex_LU_refine, 5);
656
+ rb_gsl_linalg_complex_LU_refine, 5);
665
657
 
666
658
  rb_define_singleton_method(mgsl_linalg_complex, "LU_invert",
667
- rb_gsl_linalg_complex_LU_invert, -1);
659
+ rb_gsl_linalg_complex_LU_invert, -1);
668
660
  rb_define_singleton_method(mgsl_linalg_complex_LU, "invert",
669
- rb_gsl_linalg_complex_LU_invert, -1);
670
- rb_define_method(cgsl_matrix_complex, "LU_invert",
671
- rb_gsl_linalg_complex_LU_invert, -1);
661
+ rb_gsl_linalg_complex_LU_invert, -1);
662
+ rb_define_method(cgsl_matrix_complex, "LU_invert",
663
+ rb_gsl_linalg_complex_LU_invert, -1);
672
664
  rb_define_alias(cgsl_matrix_complex, "invert", "LU_invert");
673
665
  rb_define_alias(cgsl_matrix_complex, "inv", "LU_invert");
674
- rb_define_method(cgsl_matrix_complex_LU, "invert",
675
- rb_gsl_linalg_complex_LU_invert, -1);
676
-
677
- #ifdef GSL_1_1_1_LATER
678
- rb_define_singleton_method(mgsl_linalg_complex, "LU_det",
679
- rb_gsl_linalg_complex_LU_det, -1);
680
- rb_define_singleton_method(mgsl_linalg_complex_LU, "det",
681
- rb_gsl_linalg_complex_LU_det, -1);
666
+ rb_define_method(cgsl_matrix_complex_LU, "invert",
667
+ rb_gsl_linalg_complex_LU_invert, -1);
668
+
669
+ rb_define_singleton_method(mgsl_linalg_complex, "LU_det",
670
+ rb_gsl_linalg_complex_LU_det, -1);
671
+ rb_define_singleton_method(mgsl_linalg_complex_LU, "det",
672
+ rb_gsl_linalg_complex_LU_det, -1);
682
673
  rb_define_method(cgsl_matrix_complex, "LU_det", rb_gsl_linalg_complex_LU_det, -1);
683
674
  rb_define_alias(cgsl_matrix_complex, "det", "LU_det");
684
675
  rb_define_method(cgsl_matrix_complex_LU, "det", rb_gsl_linalg_complex_LU_det, -1);
685
676
 
686
- rb_define_singleton_method(mgsl_linalg_complex, "LU_lndet",
687
- rb_gsl_linalg_complex_LU_lndet, -1);
688
- rb_define_singleton_method(mgsl_linalg_complex_LU, "lndet",
689
- rb_gsl_linalg_complex_LU_lndet, -1);
677
+ rb_define_singleton_method(mgsl_linalg_complex, "LU_lndet",
678
+ rb_gsl_linalg_complex_LU_lndet, -1);
679
+ rb_define_singleton_method(mgsl_linalg_complex_LU, "lndet",
680
+ rb_gsl_linalg_complex_LU_lndet, -1);
690
681
  rb_define_method(cgsl_matrix_complex, "LU_lndet", rb_gsl_linalg_complex_LU_lndet, -1);
691
682
  rb_define_alias(cgsl_matrix_complex, "lndet", "LU_lndet");
692
683
  rb_define_method(cgsl_matrix_complex_LU, "LU_lndet", rb_gsl_linalg_complex_LU_lndet, -1);
693
684
 
694
- rb_define_singleton_method(mgsl_linalg_complex, "LU_sgndet",
695
- rb_gsl_linalg_complex_LU_sgndet, -1);
696
- rb_define_singleton_method(mgsl_linalg_complex_LU, "sgndet",
697
- rb_gsl_linalg_complex_LU_sgndet, -1);
685
+ rb_define_singleton_method(mgsl_linalg_complex, "LU_sgndet",
686
+ rb_gsl_linalg_complex_LU_sgndet, -1);
687
+ rb_define_singleton_method(mgsl_linalg_complex_LU, "sgndet",
688
+ rb_gsl_linalg_complex_LU_sgndet, -1);
698
689
  rb_define_method(cgsl_matrix_complex, "LU_sgndet", rb_gsl_linalg_complex_LU_sgndet, -1);
699
690
  rb_define_alias(cgsl_matrix_complex, "sgndet", "LU_sgndet");
700
691
  rb_define_method(cgsl_matrix_complex_LU, "LU_sgndet", rb_gsl_linalg_complex_LU_sgndet, -1);
701
- #endif
702
692
 
703
- #ifdef GSL_1_10_LATER
704
- VALUE mgsl_linalg_complex_chol;
705
693
  mgsl_linalg_complex_chol = rb_define_module_under(mgsl_linalg_complex, "Cholesky");
706
- cgsl_matrix_complex_C = rb_define_class_under(mgsl_linalg_complex_chol, "CholeskyMatrix", cgsl_matrix_complex);
694
+ cgsl_matrix_complex_C = rb_define_class_under(mgsl_linalg_complex_chol, "CholeskyMatrix", cgsl_matrix_complex);
707
695
  rb_define_singleton_method(mgsl_linalg_complex_chol, "decomp", rb_gsl_linalg_cholesky_decomp, -1);
708
- rb_define_method(cgsl_matrix_complex, "cholesky_decomp", rb_gsl_linalg_cholesky_decomp, -1);
696
+ rb_define_method(cgsl_matrix_complex, "cholesky_decomp", rb_gsl_linalg_cholesky_decomp, -1);
709
697
  rb_define_singleton_method(mgsl_linalg_complex_chol, "solve", rb_gsl_linalg_cholesky_solve, -1);
710
698
  rb_define_method(cgsl_matrix_complex, "cholesky_solve", rb_gsl_linalg_cholesky_solve, -1);
711
699
  rb_define_method(cgsl_matrix_complex_C, "solve", rb_gsl_linalg_cholesky_solve, -1);
@@ -713,27 +701,26 @@ void Init_gsl_linalg_complex(VALUE module)
713
701
  rb_define_method(cgsl_matrix_complex, "cholesky_svx", rb_gsl_linalg_cholesky_svx, -1);
714
702
  rb_define_method(cgsl_matrix_complex_C, "svx", rb_gsl_linalg_cholesky_svx, -1);
715
703
 
716
- VALUE mgsl_linalg_complex_Householder = rb_define_module_under(mgsl_linalg_complex, "Householder");
717
- rb_define_singleton_method(mgsl_linalg_complex, "householder_transform",
718
- rb_gsl_linalg_complex_householder_transform, -1);
719
- rb_define_singleton_method(mgsl_linalg_complex_Householder, "transform",
720
- rb_gsl_linalg_complex_householder_transform, -1);
721
- rb_define_method(cgsl_vector_complex, "householder_transform",
722
- rb_gsl_linalg_complex_householder_transform, -1);
723
-
724
- rb_define_singleton_method(mgsl_linalg_complex, "householder_hm",
725
- rb_gsl_linalg_complex_householder_hm, 3);
726
- rb_define_singleton_method(mgsl_linalg_complex_Householder, "hm",
727
- rb_gsl_linalg_complex_householder_hm, 3);
728
-
729
- rb_define_singleton_method(mgsl_linalg_complex, "householder_mh",
730
- rb_gsl_linalg_complex_householder_mh, 3);
731
- rb_define_singleton_method(mgsl_linalg_complex_Householder, "mh",
732
- rb_gsl_linalg_complex_householder_mh, 3);
733
-
734
- rb_define_singleton_method(mgsl_linalg_complex, "householder_hv",
735
- rb_gsl_linalg_complex_householder_hv, 3);
736
- rb_define_singleton_method(mgsl_linalg_complex_Householder, "hv",
737
- rb_gsl_linalg_complex_householder_hv, 3);
738
- #endif
704
+ mgsl_linalg_complex_Householder = rb_define_module_under(mgsl_linalg_complex, "Householder");
705
+ rb_define_singleton_method(mgsl_linalg_complex, "householder_transform",
706
+ rb_gsl_linalg_complex_householder_transform, -1);
707
+ rb_define_singleton_method(mgsl_linalg_complex_Householder, "transform",
708
+ rb_gsl_linalg_complex_householder_transform, -1);
709
+ rb_define_method(cgsl_vector_complex, "householder_transform",
710
+ rb_gsl_linalg_complex_householder_transform, -1);
711
+
712
+ rb_define_singleton_method(mgsl_linalg_complex, "householder_hm",
713
+ rb_gsl_linalg_complex_householder_hm, 3);
714
+ rb_define_singleton_method(mgsl_linalg_complex_Householder, "hm",
715
+ rb_gsl_linalg_complex_householder_hm, 3);
716
+
717
+ rb_define_singleton_method(mgsl_linalg_complex, "householder_mh",
718
+ rb_gsl_linalg_complex_householder_mh, 3);
719
+ rb_define_singleton_method(mgsl_linalg_complex_Householder, "mh",
720
+ rb_gsl_linalg_complex_householder_mh, 3);
721
+
722
+ rb_define_singleton_method(mgsl_linalg_complex, "householder_hv",
723
+ rb_gsl_linalg_complex_householder_hv, 3);
724
+ rb_define_singleton_method(mgsl_linalg_complex_Householder, "hv",
725
+ rb_gsl_linalg_complex_householder_hv, 3);
739
726
  }
@@ -10,12 +10,8 @@
10
10
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
11
11
  */
12
12
 
13
- #include "rb_gsl_config.h"
14
- #include "rb_gsl_math.h"
15
- #include "rb_gsl_complex.h"
16
- #ifdef HAVE_NARRAY_H
17
- #include "narray.h"
18
- #endif
13
+ #include "include/rb_gsl_math.h"
14
+ #include "include/rb_gsl_complex.h"
19
15
 
20
16
  static void rb_gsl_define_const(VALUE module);
21
17
 
@@ -125,15 +121,15 @@ VALUE rb_gsl_math_complex_eval(gsl_complex (*func)(gsl_complex), VALUE obj)
125
121
  mnew = gsl_matrix_complex_alloc(m->size1, m->size2);
126
122
  for (i = 0; i < m->size1; i++) {
127
123
  for (j = 0; j < m->size2; j++) {
128
- gsl_matrix_complex_set(mnew, i, j, (*func)(gsl_matrix_complex_get(m, i, j)));
124
+ gsl_matrix_complex_set(mnew, i, j, (*func)(gsl_matrix_complex_get(m, i, j)));
129
125
  }
130
126
  }
131
127
  return Data_Wrap_Struct(cgsl_matrix_complex, 0, gsl_matrix_complex_free, mnew);
132
128
  } else {
133
- rb_raise(rb_eTypeError,
134
- "wrong argument type %s "
135
- " (GSL::Complex or GSL::Vector::Complex expected)",
136
- rb_class2name(CLASS_OF(obj)));
129
+ rb_raise(rb_eTypeError,
130
+ "wrong argument type %s "
131
+ " (GSL::Complex or GSL::Vector::Complex expected)",
132
+ rb_class2name(CLASS_OF(obj)));
137
133
  }
138
134
  }
139
135
 
@@ -141,10 +137,6 @@ static VALUE rb_gsl_math_eval(double (*func)(const double), VALUE xx)
141
137
  {
142
138
  VALUE x, ary;
143
139
  size_t i, size;
144
- #ifdef HAVE_NARRAY_H
145
- struct NARRAY *na;
146
- double *ptr1, *ptr2;
147
- #endif
148
140
  if (CLASS_OF(xx) == rb_cRange) xx = rb_gsl_range2ary(xx);
149
141
  switch (TYPE(xx)) {
150
142
  case T_FIXNUM:
@@ -166,6 +158,8 @@ static VALUE rb_gsl_math_eval(double (*func)(const double), VALUE xx)
166
158
  default:
167
159
  #ifdef HAVE_NARRAY_H
168
160
  if (NA_IsNArray(xx)) {
161
+ struct NARRAY *na;
162
+ double *ptr1, *ptr2;
169
163
  GetNArray(xx, na);
170
164
  ptr1 = (double*) na->ptr;
171
165
  size = na->total;
@@ -189,18 +183,14 @@ static VALUE rb_gsl_math_eval(double (*func)(const double), VALUE xx)
189
183
  }
190
184
 
191
185
  static VALUE rb_gsl_math_eval2(double (*func)(const double, const double), VALUE xx,
192
- VALUE yy);
186
+ VALUE yy);
193
187
  static VALUE rb_gsl_math_eval2(double (*func)(const double, const double), VALUE xx,
194
- VALUE yy)
188
+ VALUE yy)
195
189
  {
196
190
  VALUE x, y, ary;
197
191
  size_t i, j, size;
198
192
  gsl_vector *v = NULL, *v2 = NULL, *vnew = NULL;
199
193
  gsl_matrix *m = NULL, *m2 = NULL, *mnew = NULL;
200
- #ifdef HAVE_NARRAY_H
201
- struct NARRAY *nax, *nay;
202
- double *ptr1, *ptr2, *ptr3;
203
- #endif
204
194
  if (CLASS_OF(xx) == rb_cRange) xx = rb_gsl_range2ary(xx);
205
195
  switch (TYPE(xx)) {
206
196
  case T_FIXNUM:
@@ -213,7 +203,7 @@ static VALUE rb_gsl_math_eval2(double (*func)(const double, const double), VALUE
213
203
  Check_Type(yy, T_ARRAY);
214
204
  size = RARRAY_LEN(xx);
215
205
  // if (size != RARRAY(yy)->len) rb_raise(rb_eRuntimeError, "array sizes are different.");
216
- if (size != RARRAY_LEN(yy)) rb_raise(rb_eRuntimeError, "array sizes are different.");
206
+ if ((int) size != RARRAY_LEN(yy)) rb_raise(rb_eRuntimeError, "array sizes are different.");
217
207
  ary = rb_ary_new2(size);
218
208
  for (i = 0; i < size; i++) {
219
209
  x = rb_ary_entry(xx, i);
@@ -227,6 +217,8 @@ static VALUE rb_gsl_math_eval2(double (*func)(const double, const double), VALUE
227
217
  default:
228
218
  #ifdef HAVE_NARRAY_H
229
219
  if (NA_IsNArray(xx)) {
220
+ struct NARRAY *nax, *nay;
221
+ double *ptr1, *ptr2, *ptr3;
230
222
  GetNArray(xx, nax);
231
223
  GetNArray(yy, nay);
232
224
  ptr1 = (double*) nax->ptr;
@@ -244,7 +236,7 @@ static VALUE rb_gsl_math_eval2(double (*func)(const double, const double), VALUE
244
236
  Data_Get_Struct(yy, gsl_vector, v2);
245
237
  vnew = gsl_vector_alloc(v->size);
246
238
  for (i = 0; i < v->size; i++) {
247
- gsl_vector_set(vnew, i, (*func)(gsl_vector_get(v, i), gsl_vector_get(v2, i)));
239
+ gsl_vector_set(vnew, i, (*func)(gsl_vector_get(v, i), gsl_vector_get(v2, i)));
248
240
  }
249
241
  return Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, vnew);
250
242
  } else if (MATRIX_P(xx)) {
@@ -253,15 +245,15 @@ static VALUE rb_gsl_math_eval2(double (*func)(const double, const double), VALUE
253
245
  Data_Get_Struct(yy, gsl_matrix, m2);
254
246
  mnew = gsl_matrix_alloc(m->size1, m->size2);
255
247
  for (i = 0; i < m->size1; i++) {
256
- for (j = 0; j < m->size2; j++) {
257
- gsl_matrix_set(mnew, i, j, (*func)(gsl_matrix_get(m, i, j), gsl_matrix_get(m2, i, j)));
258
- }
248
+ for (j = 0; j < m->size2; j++) {
249
+ gsl_matrix_set(mnew, i, j, (*func)(gsl_matrix_get(m, i, j), gsl_matrix_get(m2, i, j)));
250
+ }
259
251
  }
260
252
  return Data_Wrap_Struct(cgsl_matrix, 0, gsl_matrix_free, mnew);
261
253
  } else {
262
- rb_raise(rb_eTypeError,
263
- "wrong argument type %s "
264
- "(Array or Vector or Matrix expected)", rb_class2name(CLASS_OF(xx)));
254
+ rb_raise(rb_eTypeError,
255
+ "wrong argument type %s "
256
+ "(Array or Vector or Matrix expected)", rb_class2name(CLASS_OF(xx)));
265
257
  }
266
258
  break;
267
259
  }
@@ -288,32 +280,32 @@ static VALUE rb_gsl_hypot(VALUE obj, VALUE x, VALUE y)
288
280
  {
289
281
  return rb_gsl_math_eval2(gsl_hypot, x, y);
290
282
  }
291
- #ifdef GSL_1_10_LATER
283
+
292
284
  static VALUE rb_gsl_hypot3(VALUE obj, VALUE x, VALUE y, VALUE z)
293
285
  {
294
286
  Need_Float(x);
295
287
  Need_Float(y);
296
- Need_Float(z);
288
+ Need_Float(z);
297
289
  return rb_float_new(gsl_hypot3(NUM2DBL(x), NUM2DBL(y), NUM2DBL(z)));
298
290
  }
299
- #endif
291
+
300
292
  static VALUE rb_gsl_acosh(VALUE obj, VALUE x)
301
293
  {
302
- if (COMPLEX_P(x) || VECTOR_COMPLEX_P(x) || MATRIX_COMPLEX_P(x))
294
+ if (COMPLEX_P(x) || VECTOR_COMPLEX_P(x) || MATRIX_COMPLEX_P(x))
303
295
  return rb_gsl_math_complex_eval(gsl_complex_arccosh, x);
304
296
  return rb_gsl_math_eval(gsl_acosh, x);
305
297
  }
306
298
 
307
299
  static VALUE rb_gsl_asinh(VALUE obj, VALUE x)
308
300
  {
309
- if (COMPLEX_P(x) || VECTOR_COMPLEX_P(x) || MATRIX_COMPLEX_P(x))
301
+ if (COMPLEX_P(x) || VECTOR_COMPLEX_P(x) || MATRIX_COMPLEX_P(x))
310
302
  return rb_gsl_math_complex_eval(gsl_complex_arcsinh, x);
311
303
  return rb_gsl_math_eval(gsl_asinh, x);
312
304
  }
313
305
 
314
306
  static VALUE rb_gsl_atanh(VALUE obj, VALUE x)
315
307
  {
316
- if (COMPLEX_P(x) || VECTOR_COMPLEX_P(x) || MATRIX_COMPLEX_P(x))
308
+ if (COMPLEX_P(x) || VECTOR_COMPLEX_P(x) || MATRIX_COMPLEX_P(x))
317
309
  return rb_gsl_math_complex_eval(gsl_complex_arctanh, x);
318
310
  return rb_gsl_math_eval(gsl_atanh, x);
319
311
  }
@@ -329,10 +321,6 @@ VALUE rb_gsl_pow(VALUE obj, VALUE xx, VALUE nn)
329
321
  double n;
330
322
  gsl_vector *v = NULL, *vnew = NULL;
331
323
  gsl_matrix *m = NULL, *mnew = NULL;
332
- #ifdef HAVE_NARRAY_H
333
- struct NARRAY *na;
334
- double *ptr1, *ptr2;
335
- #endif
336
324
  if (CLASS_OF(xx) == rb_cRange) xx = rb_gsl_range2ary(xx);
337
325
  switch (TYPE(xx)) {
338
326
  case T_FIXNUM:
@@ -354,6 +342,8 @@ VALUE rb_gsl_pow(VALUE obj, VALUE xx, VALUE nn)
354
342
  default:
355
343
  #ifdef HAVE_NARRAY_H
356
344
  if (NA_IsNArray(xx)) {
345
+ struct NARRAY *na;
346
+ double *ptr1, *ptr2;
357
347
  n = NUM2DBL(nn);
358
348
  GetNArray(xx, na);
359
349
  ptr1 = (double*) na->ptr;
@@ -369,21 +359,21 @@ VALUE rb_gsl_pow(VALUE obj, VALUE xx, VALUE nn)
369
359
  Data_Get_Struct(xx, gsl_vector, v);
370
360
  vnew = gsl_vector_alloc(v->size);
371
361
  for (i = 0; i < v->size; i++) {
372
- gsl_vector_set(vnew, i, pow(gsl_vector_get(v, i), n));
362
+ gsl_vector_set(vnew, i, pow(gsl_vector_get(v, i), n));
373
363
  }
374
364
  return Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, vnew);
375
- }
365
+ }
376
366
  if (MATRIX_P(xx)) {
377
367
  n = NUM2DBL(nn);
378
368
  Data_Get_Struct(xx, gsl_matrix, m);
379
369
  mnew = gsl_matrix_alloc(m->size1, m->size2);
380
370
  for (i = 0; i < m->size1; i++) {
381
- for (j = 0; j < m->size2; j++) {
382
- gsl_matrix_set(mnew, i, j, pow(gsl_matrix_get(m, i, j), n));
383
- }
371
+ for (j = 0; j < m->size2; j++) {
372
+ gsl_matrix_set(mnew, i, j, pow(gsl_matrix_get(m, i, j), n));
373
+ }
384
374
  }
385
375
  return Data_Wrap_Struct(cgsl_matrix, 0, gsl_matrix_free, mnew);
386
- }
376
+ }
387
377
  if (COMPLEX_P(xx) || VECTOR_COMPLEX_P(xx) || MATRIX_COMPLEX_P(xx)) {
388
378
  argv[0] = xx;
389
379
  argv[1] = nn;
@@ -403,10 +393,6 @@ static VALUE rb_gsl_pow_int(VALUE obj, VALUE xx, VALUE nn)
403
393
  int n;
404
394
  gsl_vector *v = NULL, *vnew = NULL;
405
395
  gsl_matrix *m = NULL, *mnew = NULL;
406
- #ifdef HAVE_NARRAY_H
407
- struct NARRAY *na;
408
- double *ptr1, *ptr2;
409
- #endif
410
396
 
411
397
  if (CLASS_OF(xx) == rb_cRange) xx = rb_gsl_range2ary(xx);
412
398
  switch (TYPE(xx)) {
@@ -431,6 +417,8 @@ static VALUE rb_gsl_pow_int(VALUE obj, VALUE xx, VALUE nn)
431
417
  default:
432
418
  #ifdef HAVE_NARRAY_H
433
419
  if (NA_IsNArray(xx)) {
420
+ struct NARRAY *na;
421
+ double *ptr1, *ptr2;
434
422
  CHECK_FIXNUM(nn);
435
423
  n = FIX2INT(nn);
436
424
  GetNArray(xx, na);
@@ -448,7 +436,7 @@ static VALUE rb_gsl_pow_int(VALUE obj, VALUE xx, VALUE nn)
448
436
  Data_Get_Struct(xx, gsl_vector, v);
449
437
  vnew = gsl_vector_alloc(v->size);
450
438
  for (i = 0; i < v->size; i++) {
451
- gsl_vector_set(vnew, i, gsl_pow_int(gsl_vector_get(v, i), n));
439
+ gsl_vector_set(vnew, i, gsl_pow_int(gsl_vector_get(v, i), n));
452
440
  }
453
441
  return Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, vnew);
454
442
  } else if (MATRIX_P(xx)) {
@@ -457,9 +445,9 @@ static VALUE rb_gsl_pow_int(VALUE obj, VALUE xx, VALUE nn)
457
445
  Data_Get_Struct(xx, gsl_matrix, m);
458
446
  mnew = gsl_matrix_alloc(m->size1, m->size2);
459
447
  for (i = 0; i < m->size1; i++) {
460
- for (j = 0; j < m->size2; j++) {
461
- gsl_matrix_set(mnew, i, j, gsl_pow_int(gsl_matrix_get(m, i, j), n));
462
- }
448
+ for (j = 0; j < m->size2; j++) {
449
+ gsl_matrix_set(mnew, i, j, gsl_pow_int(gsl_matrix_get(m, i, j), n));
450
+ }
463
451
  }
464
452
  return Data_Wrap_Struct(cgsl_matrix, 0, gsl_matrix_free, mnew);
465
453
  } else if (COMPLEX_P(xx) || VECTOR_COMPLEX_P(xx) || MATRIX_COMPLEX_P(xx)) {
@@ -557,7 +545,6 @@ static VALUE rb_GSL_MAX(VALUE obj, VALUE aa, VALUE bb)
557
545
  max = GSL_MAX_DBL(a, b);
558
546
  if (gsl_fcmp(max, a, 1.0e-10) == 0) return aa;
559
547
  else return bb;
560
-
561
548
  }
562
549
 
563
550
  static VALUE rb_GSL_MIN(VALUE obj, VALUE aa, VALUE bb)
@@ -588,7 +575,7 @@ static VALUE rb_GSL_MAX_INT(VALUE obj, VALUE aa, VALUE bb)
588
575
  {
589
576
  if (TYPE(aa) != T_FIXNUM || TYPE(bb) != T_FIXNUM)
590
577
  return rb_GSL_MAX(obj, aa, bb);
591
- else
578
+ else
592
579
  return INT2FIX(GSL_MAX_INT(FIX2INT(aa), FIX2INT(bb)));
593
580
  }
594
581
 
@@ -596,11 +583,10 @@ static VALUE rb_GSL_MIN_INT(VALUE obj, VALUE aa, VALUE bb)
596
583
  {
597
584
  if (TYPE(aa) != T_FIXNUM || TYPE(bb) != T_FIXNUM)
598
585
  return rb_GSL_MIN(obj, aa, bb);
599
- return
586
+ return
600
587
  INT2FIX(GSL_MIN_INT(FIX2INT(aa), FIX2INT(bb)));
601
588
  }
602
589
 
603
- #ifdef GSL_1_3_LATER
604
590
  static VALUE rb_gsl_ldexp(VALUE obj, VALUE x, VALUE e)
605
591
  {
606
592
  return rb_float_new(gsl_ldexp(NUM2DBL(x), FIX2INT(e)));
@@ -614,7 +600,6 @@ static VALUE rb_gsl_frexp(VALUE obj, VALUE x)
614
600
  val = gsl_frexp(NUM2DBL(x), &e);
615
601
  return rb_ary_new3(2, rb_float_new(val), INT2FIX(e));
616
602
  }
617
- #endif
618
603
 
619
604
  static VALUE rb_gsl_fcmp(int argc, VALUE *argv, VALUE obj)
620
605
  {
@@ -622,7 +607,7 @@ static VALUE rb_gsl_fcmp(int argc, VALUE *argv, VALUE obj)
622
607
  switch (argc) {
623
608
  case 3:
624
609
  epsilon = NUM2DBL(argv[2]);
625
- /* no break, do next */
610
+ /* no break, do next */
626
611
  case 2:
627
612
  a = NUM2DBL(argv[0]);
628
613
  b = NUM2DBL(argv[1]);
@@ -642,7 +627,7 @@ static VALUE rb_gsl_equal(int argc, VALUE *argv, VALUE obj)
642
627
  switch (argc) {
643
628
  case 3:
644
629
  epsilon = NUM2DBL(argv[2]);
645
- /* no break, do next */
630
+ /* no break, do next */
646
631
  case 2:
647
632
  a = NUM2DBL(argv[0]);
648
633
  b = NUM2DBL(argv[1]);
@@ -669,14 +654,12 @@ void Init_gsl_math(VALUE module)
669
654
  rb_define_module_function(module, "isinf?", rb_gsl_isinf2, 1);
670
655
  rb_define_module_function(module, "finite", rb_gsl_finite, 1);
671
656
  rb_define_module_function(module, "finite?", rb_gsl_finite2, 1);
672
-
657
+
673
658
  rb_define_module_function(module, "sqrt", rb_gsl_sqrt, 1);
674
659
  rb_define_module_function(module, "log1p", rb_gsl_log1p, 1);
675
660
  rb_define_module_function(module, "expm1", rb_gsl_expm1, 1);
676
661
  rb_define_module_function(module, "hypot", rb_gsl_hypot, 2);
677
- #ifdef GSL_1_10_LATER
678
- rb_define_module_function(module, "hypot3", rb_gsl_hypot3, 3);
679
- #endif
662
+ rb_define_module_function(module, "hypot3", rb_gsl_hypot3, 3);
680
663
  rb_define_module_function(module, "acosh", rb_gsl_acosh, 1);
681
664
  rb_define_module_function(module, "asinh", rb_gsl_asinh, 1);
682
665
  rb_define_module_function(module, "atanh", rb_gsl_atanh, 1);
@@ -692,7 +675,7 @@ void Init_gsl_math(VALUE module)
692
675
  rb_define_module_function(module, "pow_9", rb_gsl_pow_9, 1);
693
676
  rb_define_module_function(module, "sign", rb_GSL_SIGN, 1);
694
677
  rb_define_module_function(module, "SIGN", rb_GSL_SIGN, 1);
695
-
678
+
696
679
  rb_define_module_function(module, "is_odd", rb_GSL_IS_ODD, 1);
697
680
  rb_define_module_function(module, "IS_ODD", rb_GSL_IS_ODD, 1);
698
681
  rb_define_module_function(module, "is_odd?", rb_GSL_IS_ODD2, 1);
@@ -718,8 +701,6 @@ void Init_gsl_math(VALUE module)
718
701
 
719
702
  rb_define_module_function(module, "fcmp", rb_gsl_fcmp, -1);
720
703
  rb_define_singleton_method(module, "equal?", rb_gsl_equal, -1);
721
- #ifdef GSL_1_3_LATER
722
704
  rb_define_module_function(module, "ldexp", rb_gsl_ldexp, 2);
723
705
  rb_define_module_function(module, "frexp", rb_gsl_frexp, 1);
724
- #endif
725
706
  }