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
@@ -10,14 +10,11 @@
10
10
  WITHOUT ANY WARRANTY.
11
11
  */
12
12
 
13
- #include "rb_gsl_config.h"
14
- #include "rb_gsl_array.h"
15
- #include "rb_gsl_histogram.h"
16
- #include "rb_gsl_complex.h"
17
- #include "rb_gsl_poly.h"
18
- #ifdef HAVE_NARRAY_H
19
- #include "rb_gsl_with_narray.h"
20
- #endif
13
+ #include "include/rb_gsl_array.h"
14
+ #include "include/rb_gsl_histogram.h"
15
+ #include "include/rb_gsl_complex.h"
16
+ #include "include/rb_gsl_poly.h"
17
+ #include "include/rb_gsl_with_narray.h"
21
18
 
22
19
  VALUE rb_gsl_vector_inner_product(int argc, VALUE *argv, VALUE obj);
23
20
  static VALUE rb_gsl_vector_product_to_m(int argc, VALUE *argv, VALUE obj);
@@ -25,7 +22,7 @@ VALUE rb_gsl_vector_int_to_f(VALUE obj);
25
22
  VALUE rb_ary_to_gv(VALUE klass, VALUE ary);
26
23
 
27
24
  static VALUE rb_gsl_vector_Xspace(double min, double max, int i,
28
- gsl_vector* (*f)(const double, const double, const size_t))
25
+ gsl_vector* (*f)(const double, const double, const size_t))
29
26
  {
30
27
  gsl_vector *v = NULL;
31
28
  size_t n;
@@ -36,8 +33,8 @@ static VALUE rb_gsl_vector_Xspace(double min, double max, int i,
36
33
  return Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, v);
37
34
  }
38
35
 
39
- static gsl_vector* gsl_vector_linspace(const double min,
40
- const double max, const size_t n)
36
+ static gsl_vector* gsl_vector_linspace(const double min,
37
+ const double max, const size_t n)
41
38
  {
42
39
  gsl_vector *v = NULL;
43
40
  double dx;
@@ -54,8 +51,8 @@ static gsl_vector* gsl_vector_linspace(const double min,
54
51
  return v;
55
52
  }
56
53
 
57
- static gsl_vector* gsl_vector_logspace(const double min,
58
- const double max, const size_t n)
54
+ static gsl_vector* gsl_vector_logspace(const double min,
55
+ const double max, const size_t n)
59
56
  {
60
57
  gsl_vector *v = NULL;
61
58
  double dx;
@@ -87,9 +84,9 @@ static VALUE rb_gsl_vector_linspace(int argc, VALUE *argv, VALUE klass)
87
84
  rb_raise(rb_eArgError, "wrong number of arguments (%d for 2 or 3)", argc);
88
85
  break;
89
86
  }
90
- Need_Float(argv[0]); Need_Float(argv[1]);
87
+ Need_Float(argv[0]); Need_Float(argv[1]);
91
88
  return rb_gsl_vector_Xspace(NUM2DBL(argv[0]), NUM2DBL(argv[1]), n,
92
- gsl_vector_linspace);
89
+ gsl_vector_linspace);
93
90
  }
94
91
 
95
92
  static VALUE rb_gsl_vector_logspace(int argc, VALUE *argv, VALUE klass)
@@ -107,9 +104,9 @@ static VALUE rb_gsl_vector_logspace(int argc, VALUE *argv, VALUE klass)
107
104
  rb_raise(rb_eArgError, "wrong number of arguments (%d for 2 or 3)", argc);
108
105
  break;
109
106
  }
110
- Need_Float(argv[0]); Need_Float(argv[1]);
107
+ Need_Float(argv[0]); Need_Float(argv[1]);
111
108
  return rb_gsl_vector_Xspace(NUM2DBL(argv[0]), NUM2DBL(argv[1]), n,
112
- gsl_vector_logspace);
109
+ gsl_vector_logspace);
113
110
  }
114
111
 
115
112
  static VALUE rb_gsl_vector_logspace2(int argc, VALUE *argv, VALUE klass)
@@ -127,10 +124,10 @@ static VALUE rb_gsl_vector_logspace2(int argc, VALUE *argv, VALUE klass)
127
124
  rb_raise(rb_eArgError, "wrong number of arguments (%d for 2 or 3)", argc);
128
125
  break;
129
126
  }
130
- Need_Float(argv[0]); Need_Float(argv[1]);
131
- return rb_gsl_vector_Xspace(log10(NUM2DBL(argv[0])),
132
- log10(NUM2DBL(argv[1])), n,
133
- gsl_vector_logspace);
127
+ Need_Float(argv[0]); Need_Float(argv[1]);
128
+ return rb_gsl_vector_Xspace(log10(NUM2DBL(argv[0])),
129
+ log10(NUM2DBL(argv[1])), n,
130
+ gsl_vector_logspace);
134
131
  }
135
132
 
136
133
  /********************************************************/
@@ -145,7 +142,7 @@ enum {
145
142
  GSL_VECTOR_DIV,
146
143
  };
147
144
 
148
- static VALUE rb_gsl_vector_arithmetics(int flag, VALUE obj, VALUE bb)
145
+ static VALUE rb_gsl_vector_arithmetics(int flag, VALUE obj, VALUE bb)
149
146
  {
150
147
  gsl_vector *v = NULL, *vnew = NULL, *b = NULL;
151
148
  gsl_vector_complex *cvnew = NULL, *cb = NULL;
@@ -172,9 +169,9 @@ static VALUE rb_gsl_vector_arithmetics(int flag, VALUE obj, VALUE bb)
172
169
  gsl_vector_scale(vnew, 1.0/NUM2DBL(bb));
173
170
  break;
174
171
  }
175
- if (!VECTOR_VIEW_P(obj))
172
+ if (!VECTOR_VIEW_P(obj))
176
173
  return Data_Wrap_Struct(CLASS_OF(obj), 0, gsl_vector_free, vnew);
177
- else
174
+ else
178
175
  return Data_Wrap_Struct(VECTOR_ROW_COL(obj), 0, gsl_vector_free, vnew);
179
176
  break;
180
177
  default:
@@ -183,68 +180,68 @@ static VALUE rb_gsl_vector_arithmetics(int flag, VALUE obj, VALUE bb)
183
180
  Data_Get_Struct(bb, gsl_vector, b);
184
181
  switch (flag) {
185
182
  case GSL_VECTOR_ADD:
186
- vnew = make_vector_clone(v);
187
- gsl_vector_add(vnew, b);
188
- break;
183
+ vnew = make_vector_clone(v);
184
+ gsl_vector_add(vnew, b);
185
+ break;
189
186
  case GSL_VECTOR_SUB:
190
- vnew = make_vector_clone(v);
191
- gsl_vector_sub(vnew, b);
192
- break;
187
+ vnew = make_vector_clone(v);
188
+ gsl_vector_sub(vnew, b);
189
+ break;
193
190
  case GSL_VECTOR_MUL:
194
- vnew = make_vector_clone(v);
195
- gsl_vector_mul(vnew, b);
196
- break;
191
+ vnew = make_vector_clone(v);
192
+ gsl_vector_mul(vnew, b);
193
+ break;
197
194
  case GSL_VECTOR_DIV:
198
- vnew = make_vector_clone(v);
199
- gsl_vector_div(vnew, b);
200
- break;
195
+ vnew = make_vector_clone(v);
196
+ gsl_vector_div(vnew, b);
197
+ break;
201
198
  }
202
- if (!VECTOR_VIEW_P(obj))
203
- return Data_Wrap_Struct(CLASS_OF(obj), 0, gsl_vector_free, vnew);
204
- else
205
- return Data_Wrap_Struct(VECTOR_ROW_COL(obj), 0, gsl_vector_free, vnew);
199
+ if (!VECTOR_VIEW_P(obj))
200
+ return Data_Wrap_Struct(CLASS_OF(obj), 0, gsl_vector_free, vnew);
201
+ else
202
+ return Data_Wrap_Struct(VECTOR_ROW_COL(obj), 0, gsl_vector_free, vnew);
206
203
  } else if (VECTOR_COMPLEX_P(bb)) {
207
204
  Data_Get_Struct(bb, gsl_vector_complex, cb);
208
205
  cvnew = vector_to_complex(v);
209
206
  switch (flag) {
210
207
  case GSL_VECTOR_ADD:
211
- gsl_vector_complex_add(cvnew, cb);
212
- break;
208
+ gsl_vector_complex_add(cvnew, cb);
209
+ break;
213
210
  case GSL_VECTOR_SUB:
214
- gsl_vector_complex_sub(cvnew, cb);
215
- break;
211
+ gsl_vector_complex_sub(cvnew, cb);
212
+ break;
216
213
  case GSL_VECTOR_MUL:
217
- gsl_vector_complex_mul(cvnew, cb);
218
- break;
214
+ gsl_vector_complex_mul(cvnew, cb);
215
+ break;
219
216
  case GSL_VECTOR_DIV:
220
- gsl_vector_complex_div(cvnew, cb);
221
- break;
217
+ gsl_vector_complex_div(cvnew, cb);
218
+ break;
222
219
  }
223
220
  if (VECTOR_COL_P(obj))
224
- return Data_Wrap_Struct(cgsl_vector_complex_col, 0, gsl_vector_complex_free, cvnew);
221
+ return Data_Wrap_Struct(cgsl_vector_complex_col, 0, gsl_vector_complex_free, cvnew);
225
222
  else
226
- return Data_Wrap_Struct(cgsl_vector_complex, 0, gsl_vector_complex_free, cvnew);
223
+ return Data_Wrap_Struct(cgsl_vector_complex, 0, gsl_vector_complex_free, cvnew);
227
224
  } else if (COMPLEX_P(bb)) {
228
225
  Data_Get_Struct(bb, gsl_complex, c);
229
226
  cvnew = vector_to_complex(v);
230
227
  switch (flag) {
231
228
  case GSL_VECTOR_ADD:
232
- gsl_vector_complex_add_constant(cvnew, *c);
233
- break;
229
+ gsl_vector_complex_add_constant(cvnew, *c);
230
+ break;
234
231
  case GSL_VECTOR_SUB:
235
- gsl_vector_complex_add_constant(cvnew, gsl_complex_negative(*c));
236
- break;
232
+ gsl_vector_complex_add_constant(cvnew, gsl_complex_negative(*c));
233
+ break;
237
234
  case GSL_VECTOR_MUL:
238
- gsl_vector_complex_scale(cvnew, *c);
239
- break;
235
+ gsl_vector_complex_scale(cvnew, *c);
236
+ break;
240
237
  case GSL_VECTOR_DIV:
241
- gsl_vector_complex_scale(cvnew, gsl_complex_inverse(*c));
242
- break;
238
+ gsl_vector_complex_scale(cvnew, gsl_complex_inverse(*c));
239
+ break;
243
240
  }
244
- if (VECTOR_COL_P(obj))
245
- return Data_Wrap_Struct(cgsl_vector_complex_col, 0, gsl_vector_complex_free, cvnew);
241
+ if (VECTOR_COL_P(obj))
242
+ return Data_Wrap_Struct(cgsl_vector_complex_col, 0, gsl_vector_complex_free, cvnew);
246
243
  else
247
- return Data_Wrap_Struct(cgsl_vector_complex, 0, gsl_vector_complex_free, cvnew);
244
+ return Data_Wrap_Struct(cgsl_vector_complex, 0, gsl_vector_complex_free, cvnew);
248
245
  } else {
249
246
  rb_raise(rb_eTypeError, "wrong type argument %s", rb_class2name(CLASS_OF(bb)));
250
247
  }
@@ -413,17 +410,17 @@ static VALUE rb_gsl_vector_coerce(VALUE obj, VALUE other)
413
410
  cv = gsl_vector_complex_alloc(v->size);
414
411
  if (cv == NULL) rb_raise(rb_eNoMemError, "gsl_vector_alloc failed");
415
412
  gsl_vector_complex_set_all(cv, *c);
416
- if (VECTOR_ROW_P(obj))
417
- vv = Data_Wrap_Struct(cgsl_vector_complex, 0, gsl_vector_complex_free, cv);
413
+ if (VECTOR_ROW_P(obj))
414
+ vv = Data_Wrap_Struct(cgsl_vector_complex, 0, gsl_vector_complex_free, cv);
418
415
  else
419
- vv = Data_Wrap_Struct(cgsl_vector_complex_col, 0, gsl_vector_complex_free, cv);
416
+ vv = Data_Wrap_Struct(cgsl_vector_complex_col, 0, gsl_vector_complex_free, cv);
420
417
  return rb_ary_new3(2, vv, obj);
421
418
  } else if (VECTOR_COMPLEX_P(other)) {
422
419
  cv = vector_to_complex(v);
423
- if (VECTOR_ROW_P(obj))
424
- vv = Data_Wrap_Struct(cgsl_vector_complex, 0, gsl_vector_complex_free, cv);
420
+ if (VECTOR_ROW_P(obj))
421
+ vv = Data_Wrap_Struct(cgsl_vector_complex, 0, gsl_vector_complex_free, cv);
425
422
  else
426
- vv = Data_Wrap_Struct(cgsl_vector_complex_col, 0, gsl_vector_complex_free, cv);
423
+ vv = Data_Wrap_Struct(cgsl_vector_complex_col, 0, gsl_vector_complex_free, cv);
427
424
  return rb_ary_new3(2, other, vv);
428
425
  } else {
429
426
  rb_raise(rb_eTypeError, "cannot coerced");
@@ -443,25 +440,25 @@ static VALUE rb_gsl_vector_product_to_m(int argc, VALUE *argv, VALUE obj)
443
440
  case T_CLASS:
444
441
  case T_OBJECT:
445
442
  if (argc != 2) rb_raise(rb_eArgError, "wrong number of arguments (%d for 2)",
446
- argc);
443
+ argc);
447
444
  if (!VECTOR_COL_P(argv[0]))
448
445
  rb_raise(rb_eTypeError, "wrong argument type %s (GSL::Vector::Col expected)",
449
- rb_class2name(CLASS_OF(argv[0])));
446
+ rb_class2name(CLASS_OF(argv[0])));
450
447
  if (!VECTOR_ROW_P(argv[1]))
451
448
  rb_raise(rb_eTypeError, "wrong argument type %s (GSL::Vector expected)",
452
- rb_class2name(CLASS_OF(argv[1])));
449
+ rb_class2name(CLASS_OF(argv[1])));
453
450
  Data_Get_Struct(argv[0], gsl_vector, v);
454
451
  Data_Get_Struct(argv[1], gsl_vector, v2);
455
452
  break;
456
453
  default:
457
454
  if (argc != 1) rb_raise(rb_eArgError, "wrong number of arguments (%d for 1)",
458
- argc);
455
+ argc);
459
456
  if (!VECTOR_COL_P(obj))
460
457
  rb_raise(rb_eTypeError, "wrong argument type %s (GSL::Vector::Col expected)",
461
- rb_class2name(CLASS_OF(obj)));
458
+ rb_class2name(CLASS_OF(obj)));
462
459
  if (!VECTOR_ROW_P(argv[0]))
463
460
  rb_raise(rb_eTypeError, "wrong argument type %s (GSL::Vector expected)",
464
- rb_class2name(CLASS_OF(argv[0])));
461
+ rb_class2name(CLASS_OF(argv[0])));
465
462
  Data_Get_Struct(obj, gsl_vector, v);
466
463
  Data_Get_Struct(argv[0], gsl_vector, v2);
467
464
  break;
@@ -492,7 +489,7 @@ VALUE rb_gsl_vector_to_i(VALUE obj)
492
489
  val = (int) gsl_vector_get(v, i);
493
490
  gsl_vector_int_set(vi, i, val);
494
491
  }
495
- if (VECTOR_COL_P(obj))
492
+ if (VECTOR_COL_P(obj))
496
493
  return Data_Wrap_Struct(cgsl_vector_int_col, 0, gsl_vector_int_free, vi);
497
494
  else
498
495
  return Data_Wrap_Struct(cgsl_vector_int, 0, gsl_vector_int_free, vi);
@@ -504,9 +501,21 @@ static void draw_hist(VALUE obj, FILE *fp);
504
501
  static void draw_vector(VALUE obj, FILE *fp);
505
502
  static void draw_vector2(VALUE xx, VALUE yy, FILE *fp);
506
503
  static void draw_vector_array(VALUE ary, FILE *fp);
504
+
507
505
  #ifdef HAVE_NARRAY_H
508
- static void draw_narray(VALUE obj, FILE *fp);
506
+ static void draw_narray(VALUE obj, FILE *fp)
507
+ {
508
+ struct NARRAY *na;
509
+ double *ptr;
510
+ size_t j;
511
+ GetNArray(obj, na);
512
+ ptr = (double *) na->ptr;
513
+ for (j = 0; j < na->total; j++)
514
+ fprintf(fp, "%d %g\n", (int) j, ptr[j]);
515
+ fflush(fp);
516
+ }
509
517
  #endif // HAVE_NARRAY_H
518
+
510
519
  #endif // HAVE_GNU_GRAPH
511
520
 
512
521
  static VALUE rb_gsl_vector_graph2(int argc, VALUE *argv, VALUE obj)
@@ -521,7 +530,6 @@ static VALUE rb_gsl_vector_graph2(int argc, VALUE *argv, VALUE obj)
521
530
  FILE *fp = NULL;
522
531
  if (argc < 1)
523
532
  rb_raise(rb_eArgError, "two few arguments");
524
-
525
533
  if (TYPE(argv[argc-1]) == T_STRING) {
526
534
  sprintf(command, "graph -T X %s", STR2CSTR(argv[argc-1]));
527
535
  iend = argc-1;
@@ -529,7 +537,6 @@ static VALUE rb_gsl_vector_graph2(int argc, VALUE *argv, VALUE obj)
529
537
  strcpy(command, "graph -T X -C -g 3");
530
538
  iend = argc;
531
539
  }
532
-
533
540
  if (iend == 1) {
534
541
  fp = popen(command, "w");
535
542
  if (fp == NULL) rb_raise(rb_eIOError, "GNU graph not found.");
@@ -545,8 +552,8 @@ static VALUE rb_gsl_vector_graph2(int argc, VALUE *argv, VALUE obj)
545
552
  #endif
546
553
  } else {
547
554
  if (fp) pclose(fp);
548
- rb_raise(rb_eTypeError, "wrong argument type %s",
549
- rb_class2name(CLASS_OF(argv[0])));
555
+ rb_raise(rb_eTypeError, "wrong argument type %s",
556
+ rb_class2name(CLASS_OF(argv[0])));
550
557
  }
551
558
  if (fp) pclose(fp);
552
559
  return Qtrue;
@@ -563,7 +570,7 @@ static VALUE rb_gsl_vector_graph2(int argc, VALUE *argv, VALUE obj)
563
570
  x = gsl_vector_alloc(h->n);
564
571
  n = x->size;
565
572
  for (j = 0; j < x->size; j++)
566
- gsl_vector_set(x, j, h->range[j]);
573
+ gsl_vector_set(x, j, h->range[j]);
567
574
  flag = 1;
568
575
  draw_hist(argv[0], fp);
569
576
  fprintf(fp, "\n");
@@ -579,26 +586,26 @@ static VALUE rb_gsl_vector_graph2(int argc, VALUE *argv, VALUE obj)
579
586
  } else if (NIL_P(argv[0])) {
580
587
  if (argc < 2) rb_raise(rb_eArgError, "too few arguments");
581
588
  if (VECTOR_P(argv[1])) {
582
- Data_Get_Struct(argv[1], gsl_vector, y);
583
- n = y->size;
589
+ Data_Get_Struct(argv[1], gsl_vector, y);
590
+ n = y->size;
584
591
  } else if (HISTOGRAM_P(argv[1])) {
585
- Data_Get_Struct(argv[1], gsl_histogram, h);
586
- n = h->n;
592
+ Data_Get_Struct(argv[1], gsl_histogram, h);
593
+ n = h->n;
587
594
  #ifdef HAVE_NARRAY_H
588
595
  } else if (NA_IsNArray(argv[1])) {
589
- n = NA_TOTAL(argv[1]);
596
+ n = NA_TOTAL(argv[1]);
590
597
  #endif
591
598
  } else {
592
- rb_raise(rb_eTypeError, "wrong argument type %s",
593
- rb_class2name(CLASS_OF(argv[0])));
599
+ rb_raise(rb_eTypeError, "wrong argument type %s",
600
+ rb_class2name(CLASS_OF(argv[0])));
594
601
  }
595
602
  x = gsl_vector_alloc(n);
596
603
  for (j = 0; j < n; j++) gsl_vector_set(x, j, (double) j);
597
604
  flag = 1;
598
605
  } else {
599
606
  if (fp) pclose(fp);
600
- rb_raise(rb_eTypeError, "wrong argument type %s",
601
- rb_class2name(CLASS_OF(argv[0])));
607
+ rb_raise(rb_eTypeError, "wrong argument type %s",
608
+ rb_class2name(CLASS_OF(argv[0])));
602
609
  }
603
610
  if (flag == 1) vx = Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, x);
604
611
  for (i = 1; i < iend; i++) {
@@ -608,9 +615,9 @@ static VALUE rb_gsl_vector_graph2(int argc, VALUE *argv, VALUE obj)
608
615
  #ifdef HAVE_NARRAY_H
609
616
  else if (NA_IsNArray(argv[i])) draw_vector2(vx, argv[i], fp);
610
617
  #endif
611
- else
612
- rb_raise(rb_eTypeError, "wrong argument type %s",
613
- rb_class2name(CLASS_OF(argv[i])));
618
+ else
619
+ rb_raise(rb_eTypeError, "wrong argument type %s",
620
+ rb_class2name(CLASS_OF(argv[i])));
614
621
  fprintf(fp, "\n");
615
622
  fflush(fp);
616
623
  }
@@ -637,9 +644,6 @@ static void draw_vector(VALUE obj, FILE *fp)
637
644
 
638
645
  static void draw_vector2(VALUE xx, VALUE yy, FILE *fp)
639
646
  {
640
- #ifdef HAVE_NARRAY_H
641
- struct NARRAY *nax, *nay;
642
- #endif // HAVE_NARRAY_H
643
647
  double *ptr1 = NULL, *ptr2 = NULL;
644
648
  gsl_vector *vx, *vy;
645
649
  size_t j, n, stridex = 1, stridey = 1;
@@ -650,6 +654,7 @@ static void draw_vector2(VALUE xx, VALUE yy, FILE *fp)
650
654
  stridex = vx->stride;
651
655
  #ifdef HAVE_NARRAY_H
652
656
  } else if (NA_IsNArray(xx)) {
657
+ struct NARRAY *nax;
653
658
  GetNArray(xx, nax);
654
659
  ptr1 = (double *) nax->ptr;
655
660
  n = nax->total;
@@ -657,7 +662,7 @@ static void draw_vector2(VALUE xx, VALUE yy, FILE *fp)
657
662
  #endif // HAVE_NARRAY_H
658
663
  } else {
659
664
  rb_raise(rb_eTypeError, "wrong argument type %s (Vector expected)",
660
- rb_class2name(CLASS_OF(xx)));
665
+ rb_class2name(CLASS_OF(xx)));
661
666
  }
662
667
  if (VECTOR_P(yy)) {
663
668
  Data_Get_Struct(yy, gsl_vector, vy);
@@ -666,41 +671,28 @@ static void draw_vector2(VALUE xx, VALUE yy, FILE *fp)
666
671
  stridey = vy->stride;
667
672
  #ifdef HAVE_NARRAY_H
668
673
  } else if (NA_IsNArray(yy)) {
674
+ struct NARRAY *nay;
669
675
  GetNArray(yy, nay);
670
676
  ptr2 = (double *) nay->ptr;
671
677
  stridey = 1;
672
678
  #endif // HAVE_NARRAY_H
673
679
  } else {
674
680
  rb_raise(rb_eTypeError, "wrong argument type %s (Vector expected)",
675
- rb_class2name(CLASS_OF(yy)));
681
+ rb_class2name(CLASS_OF(yy)));
676
682
  }
677
683
  for (j = 0; j < n; j++)
678
684
  fprintf(fp, "%g %g\n", ptr1[j*stridex], ptr2[j*stridey]);
679
685
  fflush(fp);
680
686
  }
681
687
 
682
- #ifdef HAVE_NARRAY_H
683
- static void draw_narray(VALUE obj, FILE *fp)
684
- {
685
- struct NARRAY *na;
686
- double *ptr;
687
- size_t j;
688
- GetNArray(obj, na);
689
- ptr = (double *) na->ptr;
690
- for (j = 0; j < na->total; j++)
691
- fprintf(fp, "%d %g\n", (int) j, ptr[j]);
692
- fflush(fp);
693
- }
694
- #endif // HAVE_NARRAY_H
695
-
696
688
  static void draw_hist(VALUE obj, FILE *fp)
697
689
  {
698
690
  gsl_histogram *h = NULL;
699
691
  size_t j;
700
692
  Data_Get_Struct(obj, gsl_histogram, h);
701
693
  for (j = 0; j < h->n; j++) {
702
- fprintf(fp, "%g %g\n%g %g\n",
703
- h->range[j], h->bin[j], h->range[j+1], h->bin[j]);
694
+ fprintf(fp, "%g %g\n%g %g\n",
695
+ h->range[j], h->bin[j], h->range[j+1], h->bin[j]);
704
696
  }
705
697
  fflush(fp);
706
698
  }
@@ -719,7 +711,7 @@ static void draw_vector_array(VALUE ary, FILE *fp)
719
711
  case 2:
720
712
  ptry = get_vector_ptr(rb_ary_entry(ary, 1), &stridey, &n);
721
713
  vx = rb_ary_entry(ary, 0);
722
- if (NIL_P(vx)) {flag = 1;}
714
+ if (NIL_P(vx)) {flag = 1; }
723
715
  else {
724
716
  ptrx = get_vector_ptr(vx, &stridex, &n);
725
717
  }
@@ -728,32 +720,32 @@ static void draw_vector_array(VALUE ary, FILE *fp)
728
720
  ptrz = get_vector_ptr(rb_ary_entry(ary, 2), &stridez, &n);
729
721
  ptry = get_vector_ptr(rb_ary_entry(ary, 1), &stridey, &n);
730
722
  vx = rb_ary_entry(ary, 0);
731
- if (NIL_P(vx)) {flag = 2;}
723
+ if (NIL_P(vx)) {flag = 2; }
732
724
  else {
733
725
  ptrx = get_vector_ptr(vx, &stridex, &n);
734
726
  flag = 3;
735
727
  }
736
728
  break;
737
729
  default:
738
- rb_raise(rb_eRuntimeError, "wrong array length (%d for 1 or 2)",
739
- (int) RARRAY_LEN(ary));
730
+ rb_raise(rb_eRuntimeError, "wrong array length (%d for 1 or 2)",
731
+ (int) RARRAY_LEN(ary));
740
732
  break;
741
733
  }
742
734
  switch (flag) {
743
735
  case 0:
744
- for (j = 0; j < n; j++)
736
+ for (j = 0; j < n; j++)
745
737
  fprintf(fp, "%g %g\n", ptrx[j*stridex], ptry[j*stridey]);
746
738
  break;
747
739
  case 1:
748
- for (j = 0; j < n; j++)
740
+ for (j = 0; j < n; j++)
749
741
  fprintf(fp, "%d %g\n", (int) j, ptry[j*stridey]);
750
742
  break;
751
743
  case 2:
752
- for (j = 0; j < n; j++)
744
+ for (j = 0; j < n; j++)
753
745
  fprintf(fp, "%d %g %g\n", (int) j, ptry[j*stridey], ptrz[j*stridez]);
754
746
  break;
755
747
  case 3:
756
- for (j = 0; j < n; j++)
748
+ for (j = 0; j < n; j++)
757
749
  fprintf(fp, "%g %g %g\n", ptrx[j*stridex], ptry[j*stridey], ptrz[j*stridez]);
758
750
  break;
759
751
  default:
@@ -777,7 +769,7 @@ static VALUE rb_gsl_vector_plot2(int argc, VALUE *argv, VALUE obj)
777
769
  case 5:
778
770
  if (TYPE(argv[4]) == T_STRING)
779
771
  sprintf(command, "%s %s", command, STR2CSTR(argv[4]));
780
- /* no break */
772
+ /* no break */
781
773
  case 4:
782
774
  if (TYPE(argv[3]) == T_STRING) {
783
775
  sprintf(command, "%s %s", command, STR2CSTR(argv[3]));
@@ -785,9 +777,9 @@ static VALUE rb_gsl_vector_plot2(int argc, VALUE *argv, VALUE obj)
785
777
  Data_Get_Struct(argv[3], gsl_vector, yerr);
786
778
  } else {
787
779
  rb_raise(rb_eTypeError, "argv[3] wrong type %s (String or Vector expected)",
788
- rb_class2name(CLASS_OF(argv[3])));
780
+ rb_class2name(CLASS_OF(argv[3])));
789
781
  }
790
- /* no break */
782
+ /* no break */
791
783
  case 3:
792
784
  if (TYPE(argv[2]) == T_STRING) {
793
785
  sprintf(command, "%s %s", command, STR2CSTR(argv[2]));
@@ -795,9 +787,9 @@ static VALUE rb_gsl_vector_plot2(int argc, VALUE *argv, VALUE obj)
795
787
  Data_Get_Struct(argv[2], gsl_vector, xerr);
796
788
  } else {
797
789
  rb_raise(rb_eTypeError, "argv[2] wrong type %s (String or Vector expected)",
798
- rb_class2name(CLASS_OF(argv[2])));
790
+ rb_class2name(CLASS_OF(argv[2])));
799
791
  }
800
- /* no break */
792
+ /* no break */
801
793
  case 2:
802
794
  if (TYPE(argv[1]) == T_STRING) {
803
795
  sprintf(command, "%s %s", command, STR2CSTR(argv[1]));
@@ -805,9 +797,9 @@ static VALUE rb_gsl_vector_plot2(int argc, VALUE *argv, VALUE obj)
805
797
  Data_Get_Struct(argv[1], gsl_vector, y);
806
798
  } else {
807
799
  rb_raise(rb_eTypeError, "argv[1] wrong type %s (String or Vector expected)",
808
- rb_class2name(CLASS_OF(argv[1])));
800
+ rb_class2name(CLASS_OF(argv[1])));
809
801
  }
810
- /* no break */
802
+ /* no break */
811
803
  case 1:
812
804
  if (TYPE(argv[0]) == T_STRING) {
813
805
  sprintf(command, "%s %s", command, STR2CSTR(argv[0]));
@@ -815,7 +807,7 @@ static VALUE rb_gsl_vector_plot2(int argc, VALUE *argv, VALUE obj)
815
807
  Data_Get_Struct(argv[0], gsl_vector, x);
816
808
  } else {
817
809
  rb_raise(rb_eTypeError, "argv[0] wrong type %s (String or Vector expected)",
818
- rb_class2name(CLASS_OF(argv[0])));
810
+ rb_class2name(CLASS_OF(argv[0])));
819
811
  }
820
812
  break;
821
813
  default:
@@ -826,16 +818,16 @@ static VALUE rb_gsl_vector_plot2(int argc, VALUE *argv, VALUE obj)
826
818
  n = x->size;
827
819
  fprintf(fp, "%s\n", command);
828
820
  for (i = 0; i < n; i++) {
829
- if (y == NULL)
821
+ if (y == NULL)
830
822
  fprintf(fp, "%d %g\n", (int) i, gsl_vector_get(x, i));
831
823
  else if (yerr == NULL)
832
824
  fprintf(fp, "%g %g\n", gsl_vector_get(x, i), gsl_vector_get(y, i));
833
- else if (xerr)
825
+ else if (xerr)
834
826
  fprintf(fp, "%g %g %g %g\n", gsl_vector_get(x, i), gsl_vector_get(y, i),
835
- gsl_vector_get(xerr, i), gsl_vector_get(yerr, i));
827
+ gsl_vector_get(xerr, i), gsl_vector_get(yerr, i));
836
828
  else
837
- fprintf(fp, "%g %g %g\n", gsl_vector_get(x, i), gsl_vector_get(y, i),
838
- gsl_vector_get(yerr, i));
829
+ fprintf(fp, "%g %g %g\n", gsl_vector_get(x, i), gsl_vector_get(y, i),
830
+ gsl_vector_get(yerr, i));
839
831
  }
840
832
  fprintf(fp, "e\n");
841
833
  fflush(fp);
@@ -865,10 +857,10 @@ static VALUE rb_gsl_vector_normalize(int argc, VALUE *argv, VALUE obj)
865
857
  vnew = make_vector_clone(v);
866
858
  /* mean = gsl_stats_mean(v->data, v->stride, v->size);
867
859
  gsl_vector_add_constant(vnew, -mean);
868
- sd = gsl_stats_sd(vnew->data, vnew->stride, vnew->size);
860
+ sd = gsl_stats_sd(vnew->data, vnew->stride, vnew->size);
869
861
  gsl_vector_scale(vnew, sqrt(nrm)/sd);*/
870
862
  gsl_vector_scale(vnew, nrm/gsl_blas_dnrm2(v));
871
- return Data_Wrap_Struct(VECTOR_ROW_COL(obj), 0, gsl_vector_free, vnew);
863
+ return Data_Wrap_Struct(VECTOR_ROW_COL(obj), 0, gsl_vector_free, vnew);
872
864
  }
873
865
 
874
866
  static VALUE rb_gsl_vector_normalize_bang(int argc, VALUE *argv, VALUE obj)
@@ -892,7 +884,7 @@ static VALUE rb_gsl_vector_normalize_bang(int argc, VALUE *argv, VALUE obj)
892
884
  Data_Get_Vector(obj, v);
893
885
  /* mean = gsl_stats_mean(v->data, v->stride, v->size);
894
886
  gsl_vector_add_constant(v, -mean);
895
- sd = gsl_stats_sd(v->data, v->stride, v->size);
887
+ sd = gsl_stats_sd(v->data, v->stride, v->size);
896
888
  gsl_vector_scale(v, sqrt(nrm)/sd);*/
897
889
  factor = nrm/gsl_blas_dnrm2(v);
898
890
  gsl_vector_scale(v, factor);
@@ -914,13 +906,15 @@ static VALUE rb_gsl_vector_filescan_na(VALUE klass, VALUE file)
914
906
  strcpy(filename, STR2CSTR(file));
915
907
  sprintf(buf, "wc %s", filename);
916
908
  fp = popen(buf, "r");
917
- fgets(buf, 1024, fp);
909
+ if (fgets(buf, 1024, fp) == NULL)
910
+ rb_sys_fail(0);
918
911
  pclose(fp);
919
912
  sscanf(buf, "%d", &nn);
920
913
  lines = (size_t) nn; /* vector length */
921
914
  shape[0] = lines;
922
915
  fp = fopen(filename, "r");
923
- fgets(buf, 1024, fp);
916
+ if (fgets(buf, 1024, fp) == NULL)
917
+ rb_sys_fail(0);
924
918
  n = count_columns(buf); /* number of vectors created */
925
919
  ptr = (double**) xmalloc(sizeof(double**)*n);
926
920
  ary = rb_ary_new2(n);
@@ -934,12 +928,13 @@ static VALUE rb_gsl_vector_filescan_na(VALUE klass, VALUE file)
934
928
  else break;
935
929
  }
936
930
  for (i = 1; i < lines; i++) {
937
- fgets(buf, 1024, fp);
931
+ if (fgets(buf, 1024, fp) == NULL)
932
+ rb_sys_fail(0);
938
933
  p = buf;
939
934
  for (j = 0; j < n; j++) {
940
935
  p = str_scan_double(p, &val);
941
936
  if (p) ptr[j][i] = val;
942
- else break;
937
+ else break;
943
938
  }
944
939
  }
945
940
  fclose(fp);
@@ -956,9 +951,9 @@ static VALUE rb_gsl_vector_decimate(VALUE obj, VALUE nn)
956
951
  CHECK_FIXNUM(nn);
957
952
  Data_Get_Vector(obj, v);
958
953
  n = (size_t) FIX2INT(nn);
959
- if (n > v->size)
960
- rb_raise(rb_eArgError,
961
- "decimation factor must be smaller than the vector length.");
954
+ if (n > v->size)
955
+ rb_raise(rb_eArgError,
956
+ "decimation factor must be smaller than the vector length.");
962
957
  if (n == 0) rb_raise(rb_eArgError, "decimation factor must be greater than 1");
963
958
  n2 = (size_t) ceil((double)v->size/n);
964
959
  vnew = gsl_vector_alloc(n2);
@@ -967,7 +962,7 @@ static VALUE rb_gsl_vector_decimate(VALUE obj, VALUE nn)
967
962
  if (i == n2-1) vv = gsl_vector_subvector(v, i*n, n3);
968
963
  else vv = gsl_vector_subvector(v, i*n, n);
969
964
  gsl_vector_set(vnew, i, gsl_stats_mean(vv.vector.data, vv.vector.stride,
970
- vv.vector.size));
965
+ vv.vector.size));
971
966
  }
972
967
  return Data_Wrap_Struct(VECTOR_ROW_COL(obj), 0, gsl_vector_free, vnew);
973
968
  }
@@ -1075,21 +1070,21 @@ static VALUE rb_gsl_vector_rotate_bang(int argc, VALUE *argv, VALUE klass)
1075
1070
  v0 = rb_ary_entry(argv[0], 0);
1076
1071
  v1 = rb_ary_entry(argv[0], 1);
1077
1072
  if (VECTOR_P(v0) && VECTOR_P(v1)) {
1078
- Data_Get_Struct(v0, gsl_vector, vx);
1079
- Data_Get_Struct(v1, gsl_vector, vy);
1080
- n = (size_t) GSL_MIN(vx->size, vy->size);
1081
- rad = NUM2DBL(argv[1]);
1082
- retval = argv[0];
1073
+ Data_Get_Struct(v0, gsl_vector, vx);
1074
+ Data_Get_Struct(v1, gsl_vector, vy);
1075
+ n = (size_t) GSL_MIN(vx->size, vy->size);
1076
+ rad = NUM2DBL(argv[1]);
1077
+ retval = argv[0];
1083
1078
  } else {
1084
- x = NUM2DBL(rb_ary_entry(argv[0], 0));
1085
- y = NUM2DBL(rb_ary_entry(argv[0], 1));
1086
- rad = NUM2DBL(argv[1]);
1087
- c = cos(rad); s = sin(rad);
1088
- return rb_ary_new3(2, rb_float_new(c*x - s*y), rb_float_new(s*x + c*y));
1079
+ x = NUM2DBL(rb_ary_entry(argv[0], 0));
1080
+ y = NUM2DBL(rb_ary_entry(argv[0], 1));
1081
+ rad = NUM2DBL(argv[1]);
1082
+ c = cos(rad); s = sin(rad);
1083
+ return rb_ary_new3(2, rb_float_new(c*x - s*y), rb_float_new(s*x + c*y));
1089
1084
  }
1090
1085
  } else {
1091
1086
  rb_raise(rb_eTypeError, "wrong argument type %s (Array expected)",
1092
- rb_class2name(CLASS_OF(argv[0])));
1087
+ rb_class2name(CLASS_OF(argv[0])));
1093
1088
  }
1094
1089
  break;
1095
1090
  case 3:
@@ -1134,19 +1129,19 @@ static VALUE rb_gsl_vector_rotate(int argc, VALUE *argv, VALUE klass)
1134
1129
  v0 = rb_ary_entry(argv[0], 0);
1135
1130
  v1 = rb_ary_entry(argv[0], 1);
1136
1131
  if (VECTOR_P(v0) && VECTOR_P(v1)) {
1137
- Data_Get_Struct(v0, gsl_vector, vx);
1138
- Data_Get_Struct(v1, gsl_vector, vy);
1139
- rad = NUM2DBL(argv[1]);
1132
+ Data_Get_Struct(v0, gsl_vector, vx);
1133
+ Data_Get_Struct(v1, gsl_vector, vy);
1134
+ rad = NUM2DBL(argv[1]);
1140
1135
  } else {
1141
- x = NUM2DBL(rb_ary_entry(argv[0], 0));
1142
- y = NUM2DBL(rb_ary_entry(argv[0], 1));
1143
- rad = NUM2DBL(argv[1]);
1144
- c = cos(rad); s = sin(rad);
1145
- return rb_ary_new3(2, rb_float_new(c*x - s*y), rb_float_new(s*x + c*y));
1136
+ x = NUM2DBL(rb_ary_entry(argv[0], 0));
1137
+ y = NUM2DBL(rb_ary_entry(argv[0], 1));
1138
+ rad = NUM2DBL(argv[1]);
1139
+ c = cos(rad); s = sin(rad);
1140
+ return rb_ary_new3(2, rb_float_new(c*x - s*y), rb_float_new(s*x + c*y));
1146
1141
  }
1147
1142
  } else {
1148
1143
  rb_raise(rb_eTypeError, "wrong argument type %s (Array expected)",
1149
- rb_class2name(CLASS_OF(argv[0])));
1144
+ rb_class2name(CLASS_OF(argv[0])));
1150
1145
  }
1151
1146
  break;
1152
1147
  case 3:
@@ -1177,7 +1172,7 @@ static VALUE rb_gsl_vector_rotate(int argc, VALUE *argv, VALUE klass)
1177
1172
  gsl_vector_set(vynew, i, s*x + c*y);
1178
1173
  }
1179
1174
  return rb_ary_new3(2, Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, vxnew),
1180
- Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, vynew));
1175
+ Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, vynew));
1181
1176
  }
1182
1177
 
1183
1178
  #include "gsl/gsl_fit.h"
@@ -1193,21 +1188,21 @@ static VALUE rb_gsl_vector_linearfit(int argc, VALUE *argv, VALUE klass)
1193
1188
  Data_Get_Struct(argv[1], gsl_vector, w);
1194
1189
  Data_Get_Struct(argv[2], gsl_vector, y);
1195
1190
  gsl_fit_wlinear(x->data, x->stride, w->data, w->stride,
1196
- y->data, y->stride, y->size, &c0, &c1, &c00, &c01, &c11,
1197
- &sumsq);
1191
+ y->data, y->stride, y->size, &c0, &c1, &c00, &c01, &c11,
1192
+ &sumsq);
1198
1193
  break;
1199
1194
  case 2:
1200
- CHECK_VECTOR(argv[0]); CHECK_VECTOR(argv[1]);
1195
+ CHECK_VECTOR(argv[0]); CHECK_VECTOR(argv[1]);
1201
1196
  Data_Get_Struct(argv[0], gsl_vector, x);
1202
1197
  Data_Get_Struct(argv[1], gsl_vector, y);
1203
- gsl_fit_linear(x->data, x->stride, y->data,y->stride, y->size,
1204
- &c0, &c1, &c00, &c01, &c11, &sumsq);
1198
+ gsl_fit_linear(x->data, x->stride, y->data,y->stride, y->size,
1199
+ &c0, &c1, &c00, &c01, &c11, &sumsq);
1205
1200
  break;
1206
1201
  default:
1207
1202
  rb_raise(rb_eArgError, "Wrong number of arguments (%d for 2 or 3).\n", argc);
1208
1203
  }
1209
1204
  return rb_ary_new3(6, rb_float_new(c0), rb_float_new(c1), rb_float_new(c00),
1210
- rb_float_new(c01), rb_float_new(c11), rb_float_new(sumsq));
1205
+ rb_float_new(c01), rb_float_new(c11), rb_float_new(sumsq));
1211
1206
  }
1212
1207
 
1213
1208
  static VALUE rb_gsl_vector_center(VALUE obj)
@@ -1224,7 +1219,7 @@ static VALUE rb_gsl_vector_center(VALUE obj)
1224
1219
 
1225
1220
  static VALUE rb_gsl_vector_clip(int argc, VALUE *argv, VALUE obj)
1226
1221
  {
1227
- gsl_vector *v, *vnew;
1222
+ gsl_vector *v, *vnew;
1228
1223
  double hi = 1.0, lo = 0.0;
1229
1224
  double x;
1230
1225
  size_t i;
@@ -1252,7 +1247,7 @@ static VALUE rb_gsl_vector_clip(int argc, VALUE *argv, VALUE obj)
1252
1247
  x = gsl_vector_get(v, i);
1253
1248
  if (x > hi) x = hi;
1254
1249
  else if (x < lo) x = lo;
1255
- else;
1250
+ else {}
1256
1251
  gsl_vector_set(vnew, i, x);
1257
1252
  }
1258
1253
  return Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, vnew);
@@ -1269,12 +1264,12 @@ static VALUE rb_gsl_vector_amp_phase(VALUE obj)
1269
1264
  amp = gsl_vector_alloc(v->size/2);
1270
1265
  phase = gsl_vector_alloc(v->size/2);
1271
1266
  gsl_vector_set(amp, 0, gsl_vector_get(v, 0));
1272
- gsl_vector_set(phase, 0, 0);
1267
+ gsl_vector_set(phase, 0, 0);
1273
1268
  gsl_vector_set(amp, amp->size-1, gsl_vector_get(v, v->size-1));
1274
- gsl_vector_set(phase, phase->size-1, 0);
1275
- for (i = 1; i < v->size-1; i+=2) {
1269
+ gsl_vector_set(phase, phase->size-1, 0);
1270
+ for (i = 1; i < v->size-1; i += 2) {
1276
1271
  re = gsl_vector_get(v, i);
1277
- im = gsl_vector_get(v, i+1);
1272
+ im = gsl_vector_get(v, i+1);
1278
1273
  gsl_vector_set(amp, i/2+1, sqrt(re*re + im*im));
1279
1274
  gsl_vector_set(phase, i/2+1, atan2(im, re));
1280
1275
  }
@@ -1305,7 +1300,7 @@ static VALUE rb_gsl_vector_clean(int argc, VALUE *argv, VALUE obj)
1305
1300
  vnew = make_vector_clone(v);
1306
1301
  n = v->size;
1307
1302
  for (i = 0; i < n; i++) if (fabs(vnew->data[i]) < eps) vnew->data[i] = 0.0;
1308
- return Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, vnew);;
1303
+ return Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, vnew);
1309
1304
  }
1310
1305
 
1311
1306
  static VALUE rb_gsl_vector_clean_bang(int argc, VALUE *argv, VALUE obj)
@@ -1428,11 +1423,11 @@ void Init_gsl_vector(VALUE module)
1428
1423
  rb_define_method(cgsl_vector, "amp_phase", rb_gsl_vector_amp_phase, 0);
1429
1424
  rb_define_method(cgsl_vector, "clean", rb_gsl_vector_clean, -1);
1430
1425
  rb_define_method(cgsl_vector, "clean!", rb_gsl_vector_clean_bang, -1);
1431
-
1426
+
1432
1427
  rb_define_method(cgsl_vector, "pow", rb_gsl_vector_pow, 1);
1433
1428
  rb_define_alias(cgsl_vector, "**", "pow");
1434
-
1435
- rb_define_method(cgsl_vector, "pow!", rb_gsl_vector_pow_bang, 1);
1436
-
1429
+
1430
+ rb_define_method(cgsl_vector, "pow!", rb_gsl_vector_pow_bang, 1);
1431
+
1437
1432
  Init_gsl_vector_init(module);
1438
1433
  }