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
@@ -52,14 +52,14 @@ void FUNCTION(get_range,beg_en_n)(VALUE range, BASE *beg, BASE *en, size_t *n, i
52
52
 
53
53
  // From ext/vector_source.c
54
54
  void get_range_beg_en_n_for_size(VALUE range,
55
- int *beg, int *en, size_t *n, int *step, size_t size);
55
+ int *beg, int *en, size_t *n, int *step, size_t size);
56
56
 
57
57
  void parse_submatrix_args(int argc, VALUE *argv, size_t size1, size_t size2,
58
- size_t *i, size_t *j, size_t *n1, size_t *n2);
58
+ size_t *i, size_t *j, size_t *n1, size_t *n2);
59
59
 
60
60
  #ifdef BASE_DOUBLE
61
61
  void parse_submatrix_args(int argc, VALUE *argv, size_t size1, size_t size2,
62
- size_t *i, size_t *j, size_t *n1, size_t *n2)
62
+ size_t *i, size_t *j, size_t *n1, size_t *n2)
63
63
  {
64
64
  int ii, ij, in1, in2, end, step;
65
65
 
@@ -91,7 +91,7 @@ void parse_submatrix_args(int argc, VALUE *argv, size_t size1, size_t size2,
91
91
  // Fixnum, nil -> single row, all cols (Vector::View)
92
92
  // Fixnum, Range -> single row, Range cols (Vector::View)
93
93
  // Fixnum, Fixnum -> single row, single col (Matrix::View)
94
- case 2:
94
+ case 2:
95
95
  // nil, ...
96
96
  if(NIL_P(argv[0])) {
97
97
  // Parse second arg
@@ -114,7 +114,7 @@ void parse_submatrix_args(int argc, VALUE *argv, size_t size1, size_t size2,
114
114
  *i = 0; *j = (size_t)ij;
115
115
  *n1 = size1; *n2 = 0; // *n2 == 0 tells #submatrix to return Vector::Col::View
116
116
  }
117
- // Range, ...
117
+ // Range, ...
118
118
  } else if(rb_obj_is_kind_of(argv[0], rb_cRange)) {
119
119
  get_range_beg_en_n_for_size(argv[0], &ii, &end, n1, &step, size1);
120
120
  if(step < 0 || *n1 <= 0) {
@@ -139,7 +139,7 @@ void parse_submatrix_args(int argc, VALUE *argv, size_t size1, size_t size2,
139
139
  *j = (size_t) ij;
140
140
  *n2 = 0; // *n2 == 0 tells #submatrix to return Vector::Col::View
141
141
  }
142
- // Fixnum, ...
142
+ // Fixnum, ...
143
143
  } else {
144
144
  ii = NUM2INT(argv[0]);
145
145
  if(ii < 0) ii += size1;
@@ -182,7 +182,7 @@ void parse_submatrix_args(int argc, VALUE *argv, size_t size1, size_t size2,
182
182
  if(ij < 0) ij += size2;
183
183
  *j = (size_t) ij;
184
184
  *n2 = (size_t) in2;
185
- // Range, Fixnum, Fixnum
185
+ // Range, Fixnum, Fixnum
186
186
  } else if(rb_obj_is_kind_of(argv[0], rb_cRange)) {
187
187
  // Range, Fixnum, Fixnum -> Range rows, some cols
188
188
  CHECK_FIXNUM(argv[1]); CHECK_FIXNUM(argv[2]);
@@ -196,11 +196,11 @@ void parse_submatrix_args(int argc, VALUE *argv, size_t size1, size_t size2,
196
196
  *i = (size_t)ii;
197
197
  *j = (size_t) ij;
198
198
  *n2 = (size_t) in2;
199
- // Fixnum, Fixnum, ...
199
+ // Fixnum, Fixnum, ...
200
200
  } else {
201
201
  CHECK_FIXNUM(argv[0]); CHECK_FIXNUM(argv[1]);
202
202
  ii = FIX2INT(argv[0]);
203
- if(ii < 0) ii += size1;
203
+ if(ii < 0) ii += size1;
204
204
  in1 = FIX2INT(argv[1]);
205
205
  *i = (size_t)ii;
206
206
  *n1 = (size_t)in1;
@@ -218,7 +218,7 @@ void parse_submatrix_args(int argc, VALUE *argv, size_t size1, size_t size2,
218
218
  *j = (size_t)ij;
219
219
  } else {
220
220
  rb_raise(rb_eArgError, "expected third argument to be nil or Range, not %s",
221
- rb_class2name(CLASS_OF(argv[2])));
221
+ rb_class2name(CLASS_OF(argv[2])));
222
222
  }
223
223
  }
224
224
  break;
@@ -241,7 +241,7 @@ void parse_submatrix_args(int argc, VALUE *argv, size_t size1, size_t size2,
241
241
  }
242
242
  #endif
243
243
 
244
- VALUE FUNCTION(rb_gsl_matrix,do_something)(VALUE obj, void (*f)(GSL_TYPE(gsl_matrix) *))
244
+ VALUE FUNCTION(rb_gsl_matrix,do_something)(VALUE obj, void (*f)(GSL_TYPE (gsl_matrix) *))
245
245
  {
246
246
  GSL_TYPE(gsl_matrix) *m = NULL;
247
247
  Data_Get_Struct(obj, GSL_TYPE(gsl_matrix), m);
@@ -257,16 +257,13 @@ static VALUE FUNCTION(rb_gsl_matrix,alloc)(int argc, VALUE *argv, VALUE klass)
257
257
  {
258
258
  GSL_TYPE(gsl_matrix) *m = NULL;
259
259
  size_t n1, n2;
260
- #ifdef HAVE_NARRAY_H
261
- size_t n;
262
- VALUE ary;
263
- struct NARRAY *na;
264
- #endif
265
- if (argc < 1) rb_raise(rb_eArgError,
266
- "wrong number of arguments (%d for >= 1)", argc);
267
-
260
+ if (argc < 1) rb_raise(rb_eArgError,
261
+ "wrong number of arguments (%d for >= 1)", argc);
268
262
  #ifdef HAVE_NARRAY_H
269
263
  if (NA_IsNArray(argv[0])) {
264
+ size_t n;
265
+ VALUE ary;
266
+ struct NARRAY *na;
270
267
  GetNArray(argv[0], na);
271
268
  n = na->shape[0]*na->shape[1];
272
269
  m = FUNCTION(gsl_matrix,alloc)(na->shape[1], na->shape[0]);
@@ -282,8 +279,8 @@ static VALUE FUNCTION(rb_gsl_matrix,alloc)(int argc, VALUE *argv, VALUE klass)
282
279
  #endif
283
280
  switch (TYPE(argv[0])) {
284
281
  case T_FIXNUM:
285
- if (argc != 2) rb_raise(rb_eArgError, "wrong number of arguments (%d for 2)",
286
- argc);
282
+ if (argc != 2) rb_raise(rb_eArgError, "wrong number of arguments (%d for 2)",
283
+ argc);
287
284
  CHECK_FIXNUM(argv[1]);
288
285
  n1 = FIX2INT(argv[0]); n2 = FIX2INT(argv[1]);
289
286
  m = FUNCTION(gsl_matrix,calloc)(n1, n2);
@@ -300,38 +297,38 @@ static VALUE FUNCTION(rb_gsl_matrix,alloc)(int argc, VALUE *argv, VALUE klass)
300
297
  break;
301
298
  case T_FIXNUM:
302
299
  if (argc != 3) rb_raise(rb_eArgError, "wrong number of arguments (%d for 3)",
303
- argc);
300
+ argc);
304
301
  CHECK_FIXNUM(argv[2]);
305
302
  m = FUNCTION(gsl_matrix,alloc_from_array_sizes)(argv[0], argv[1], argv[2]);
306
303
  break;
307
304
  default:
308
- rb_raise(rb_eTypeError,
309
- "wrong argument type %s\nUsage: new(n1, n2), "
310
- "new([], [], [], ...), new([], n1, n2)",
311
- rb_class2name(CLASS_OF(argv[1])));
305
+ rb_raise(rb_eTypeError,
306
+ "wrong argument type %s\nUsage: new(n1, n2), "
307
+ "new([], [], [], ...), new([], n1, n2)",
308
+ rb_class2name(CLASS_OF(argv[1])));
312
309
  break;
313
310
  }
314
311
  break;
315
312
  default:
316
313
  if (CLASS_OF(argv[0]) == rb_cRange) {
317
314
  if (argc==3 && TYPE(argv[1]) == T_FIXNUM && TYPE(argv[2]) == T_FIXNUM)
318
- return FUNCTION(create_matrix,from_range_shape)(argv[0], argv[1], argv[2]);
315
+ return FUNCTION(create_matrix,from_range_shape)(argv[0], argv[1], argv[2]);
319
316
  else
320
- return FUNCTION(create_matrix,from_ranges)(argc, argv);
317
+ return FUNCTION(create_matrix,from_ranges)(argc, argv);
321
318
  } else if (VEC_P(argv[0])) {
322
319
  if (argc == 3 && FIXNUM_P(argv[1]) && FIXNUM_P(argv[2])) {
323
- m = FUNCTION(gsl_matrix,alloc_from_vector_sizes)(argv[0], argv[1], argv[2]);
320
+ m = FUNCTION(gsl_matrix,alloc_from_vector_sizes)(argv[0], argv[1], argv[2]);
324
321
  } else {
325
- if (VEC_COL_P(argv[0])) {
326
- m = FUNCTION(gsl_matrix,alloc_from_colvectors)(argc, argv);
327
- } else {
328
- m = FUNCTION(gsl_matrix,alloc_from_vectors)(argc, argv);
329
- }
322
+ if (VEC_COL_P(argv[0])) {
323
+ m = FUNCTION(gsl_matrix,alloc_from_colvectors)(argc, argv);
324
+ } else {
325
+ m = FUNCTION(gsl_matrix,alloc_from_vectors)(argc, argv);
326
+ }
330
327
  }
331
328
  } else {
332
329
  rb_raise(rb_eTypeError, "wrong argument type %s\n"
333
- "Usage: new(n1, n2), new([], [], [], ...), new([], n1, n2)",
334
- rb_class2name(CLASS_OF(argv[0])));
330
+ "Usage: new(n1, n2), new([], [], [], ...), new([], n1, n2)",
331
+ rb_class2name(CLASS_OF(argv[0])));
335
332
  }
336
333
  break;
337
334
  }
@@ -349,10 +346,10 @@ static GSL_TYPE(gsl_matrix)* FUNCTION(cr_matrix,from_ranges)(int argc, VALUE *ar
349
346
  FUNCTION(get_range,beg_en_n)(argv[0], &beg, &en, &n, &step);
350
347
  m = FUNCTION(gsl_matrix,calloc)(argc, n);
351
348
  FUNCTION(set_ptr_data,by_range)(m->data, n, argv[0]);
352
- for (i = 1; i < argc; i++) {
353
- if (CLASS_OF(argv[i]) != rb_cRange)
349
+ for (i = 1; (int) i < argc; i++) {
350
+ if (CLASS_OF(argv[i]) != rb_cRange)
354
351
  rb_raise(rb_eTypeError, "wrong argument type %s (Range expected)",
355
- rb_class2name(CLASS_OF(argv[i])));
352
+ rb_class2name(CLASS_OF(argv[i])));
356
353
  FUNCTION(set_ptr_data,by_range)(m->data+i*n, n, argv[i]);
357
354
  }
358
355
  return m;
@@ -392,11 +389,11 @@ GSL_TYPE(gsl_matrix)* FUNCTION(gsl_matrix,alloc_from_arrays)(int argc, VALUE *ar
392
389
  n = RARRAY_LEN(argv[0]);
393
390
  m = FUNCTION(gsl_matrix,alloc)(argc, n);
394
391
  if (m == NULL) rb_raise(rb_eNoMemError, "gsl_matrix_alloc failed");
395
- for (i = 0; i < argc; i++) {
392
+ for (i = 0; (int) i < argc; i++) {
396
393
  if (CLASS_OF(argv[i]) == rb_cRange) argv[i] = rb_gsl_range2ary(argv[i]);
397
394
  else Check_Type(argv[i], T_ARRAY);
398
395
  for (j = 0; j < n; j++) {
399
- if (j >= RARRAY_LEN(argv[i])) FUNCTION(gsl_matrix,set)(m, i, j, 0);
396
+ if ((int) j >= RARRAY_LEN(argv[i])) FUNCTION(gsl_matrix,set)(m, i, j, 0);
400
397
  else FUNCTION(gsl_matrix,set)(m, i, j, NUMCONV2(rb_ary_entry(argv[i], j)));
401
398
  }
402
399
  }
@@ -413,7 +410,7 @@ GSL_TYPE(gsl_matrix)* FUNCTION(gsl_matrix,alloc_from_vectors)(int argc, VALUE *a
413
410
  Data_Get_Struct(argv[0], GSL_TYPE(gsl_vector), v);
414
411
  m = FUNCTION(gsl_matrix,alloc)(argc, v->size);
415
412
  if (m == NULL) rb_raise(rb_eNoMemError, "gsl_matrix_alloc failed");
416
- for (i = 0; i < argc; i++) {
413
+ for (i = 0; (int) i < argc; i++) {
417
414
  CHECK_VEC(argv[i]);
418
415
  Data_Get_Struct(argv[i], GSL_TYPE(gsl_vector), v);
419
416
  FUNCTION(gsl_matrix,set_row)(m, i, v);
@@ -430,9 +427,9 @@ GSL_TYPE(gsl_matrix)* FUNCTION(gsl_matrix,alloc_from_colvectors)(int argc, VALUE
430
427
  CHECK_VEC(argv[0]);
431
428
  Data_Get_Struct(argv[0], GSL_TYPE(gsl_vector), v);
432
429
  // m = FUNCTION(gsl_matrix,alloc)(argc, v->size);
433
- m = FUNCTION(gsl_matrix,alloc)(v->size, argc);
430
+ m = FUNCTION(gsl_matrix,alloc)(v->size, argc);
434
431
  if (m == NULL) rb_raise(rb_eNoMemError, "gsl_matrix_alloc failed");
435
- for (i = 0; i < argc; i++) {
432
+ for (i = 0; (int) i < argc; i++) {
436
433
  CHECK_VEC(argv[i]);
437
434
  Data_Get_Struct(argv[i], GSL_TYPE(gsl_vector), v);
438
435
  FUNCTION(gsl_matrix,set_col)(m, i, v);
@@ -442,7 +439,7 @@ GSL_TYPE(gsl_matrix)* FUNCTION(gsl_matrix,alloc_from_colvectors)(int argc, VALUE
442
439
 
443
440
  /* create a matrix from two sizes and an array */
444
441
  GSL_TYPE(gsl_matrix)* FUNCTION(gsl_matrix,alloc_from_array_sizes)(VALUE ary,
445
- VALUE nn1, VALUE nn2)
442
+ VALUE nn1, VALUE nn2)
446
443
  {
447
444
  size_t n1, n2, len;
448
445
  GSL_TYPE(gsl_matrix) *m = NULL;
@@ -458,17 +455,16 @@ GSL_TYPE(gsl_matrix)* FUNCTION(gsl_matrix,alloc_from_array_sizes)(VALUE ary,
458
455
  for (i = 0; i < n1; i++) {
459
456
  for (j = 0; j < n2; j++, k++) {
460
457
  if (k >= len)
461
- FUNCTION(gsl_matrix,set)(m, i, j, (BASE) 0);
458
+ FUNCTION(gsl_matrix,set)(m, i, j, (BASE) 0);
462
459
  else
463
- FUNCTION(gsl_matrix,set)(m, i, j, (BASE) NUMCONV2(rb_ary_entry(ary, k)));
464
-
460
+ FUNCTION(gsl_matrix,set)(m, i, j, (BASE) NUMCONV2(rb_ary_entry(ary, k)));
465
461
  }
466
462
  }
467
463
  return m;
468
464
  }
469
465
 
470
466
  GSL_TYPE(gsl_matrix)* FUNCTION(gsl_matrix,alloc_from_vector_sizes)(VALUE ary,
471
- VALUE nn1, VALUE nn2)
467
+ VALUE nn1, VALUE nn2)
472
468
  {
473
469
  size_t n1, n2;
474
470
  GSL_TYPE(gsl_matrix) *m = NULL;
@@ -483,10 +479,10 @@ GSL_TYPE(gsl_matrix)* FUNCTION(gsl_matrix,alloc_from_vector_sizes)(VALUE ary,
483
479
  k = 0;
484
480
  for (i = 0; i < n1; i++) {
485
481
  for (j = 0; j < n2; j++, k++) {
486
- if (k >= v->size)
487
- FUNCTION(gsl_matrix,set)(m, i, j, (BASE) 0);
482
+ if (k >= v->size)
483
+ FUNCTION(gsl_matrix,set)(m, i, j, (BASE) 0);
488
484
  else
489
- FUNCTION(gsl_matrix,set)(m, i, j, FUNCTION(gsl_vector,get)(v, k));
485
+ FUNCTION(gsl_matrix,set)(m, i, j, FUNCTION(gsl_vector,get)(v, k));
490
486
  }
491
487
  }
492
488
  return m;
@@ -515,7 +511,7 @@ static VALUE FUNCTION(rb_gsl_matrix,diagonal_singleton)(int argc, VALUE *argv, V
515
511
  len = FIX2INT(argv[0]);
516
512
  m = FUNCTION(gsl_matrix,alloc)(len, len);
517
513
  for (i = 0; i < len; i++)
518
- FUNCTION(gsl_matrix,set)(m, i, i, 1);
514
+ FUNCTION(gsl_matrix,set)(m, i, i, 1);
519
515
  return Data_Wrap_Struct(klass, 0, FUNCTION(gsl_matrix,free), m);
520
516
  break;
521
517
  default:
@@ -530,8 +526,8 @@ static VALUE FUNCTION(rb_gsl_matrix,diagonal_singleton)(int argc, VALUE *argv, V
530
526
  len = RARRAY_LEN(ary);
531
527
  m = FUNCTION(gsl_matrix,calloc)(len, len);
532
528
  for (i = 0; i < len; i++) {
533
- tmp = rb_ary_entry(ary, i);
534
- FUNCTION(gsl_matrix,set)(m, i, i, NUMCONV2(tmp));
529
+ tmp = rb_ary_entry(ary, i);
530
+ FUNCTION(gsl_matrix,set)(m, i, i, NUMCONV2(tmp));
535
531
  }
536
532
  break;
537
533
  default:
@@ -540,14 +536,14 @@ static VALUE FUNCTION(rb_gsl_matrix,diagonal_singleton)(int argc, VALUE *argv, V
540
536
  len = v->size;
541
537
  m = FUNCTION(gsl_matrix,calloc)(len, len);
542
538
  for (i = 0; i < len; i++) {
543
- FUNCTION(gsl_matrix,set)(m, i, i, FUNCTION(gsl_vector,get)(v, i));
539
+ FUNCTION(gsl_matrix,set)(m, i, i, FUNCTION(gsl_vector,get)(v, i));
544
540
  }
545
541
  break;
546
542
  }
547
543
  break;
548
544
  default:
549
545
  m = FUNCTION(gsl_matrix,calloc)(argc, argc);
550
- for (i = 0; i < argc; i++) {
546
+ for (i = 0; (int) i < argc; i++) {
551
547
  FUNCTION(gsl_matrix,set)(m, i, i, NUMCONV2(argv[i]));
552
548
  }
553
549
  break;
@@ -711,7 +707,6 @@ static VALUE FUNCTION(rb_gsl_matrix,get)(int argc, VALUE *argv, VALUE obj)
711
707
  } else {
712
708
  retval = FUNCTION(rb_gsl_matrix,submatrix)(argc, argv, obj);
713
709
  }
714
-
715
710
  return retval;
716
711
  }
717
712
 
@@ -729,7 +724,6 @@ static VALUE FUNCTION(rb_gsl_matrix,set)(int argc, VALUE *argv, VALUE obj)
729
724
  if(argc < 1 || argc > 5) {
730
725
  rb_raise(rb_eArgError, "wrong number of arguments (%d for 1-5)", argc);
731
726
  }
732
-
733
727
  Data_Get_Struct(obj, GSL_TYPE(gsl_matrix), m);
734
728
  other = argv[argc-1];
735
729
 
@@ -783,7 +777,7 @@ static VALUE FUNCTION(rb_gsl_matrix,set)(int argc, VALUE *argv, VALUE obj)
783
777
  Data_Get_Struct(other, GSL_TYPE(gsl_matrix), mother);
784
778
  if(n1 * n2 != mother->size1 * mother->size2) {
785
779
  rb_raise(rb_eRangeError, "sizes do not match (%d x %d != %d x %d)",
786
- (int) n1, (int) n2, (int) mother->size1, (int) mother->size2);
780
+ (int) n1, (int) n2, (int) mother->size1, (int) mother->size2);
787
781
  }
788
782
  // TODO Change to gsl_matrix_memmove if/when GSL has such a function
789
783
  // because gsl_matrix_memcpy does not handle overlapping regions (e.g.
@@ -799,9 +793,9 @@ static VALUE FUNCTION(rb_gsl_matrix,set)(int argc, VALUE *argv, VALUE obj)
799
793
  FUNCTION(rb_gsl_vector,set_subvector)(2, row_set_argv, &vv.vector, other);
800
794
  } else {
801
795
  // m[...] = [[row0], [row1], ...] # multiple rows
802
- if(n1 != RARRAY_LEN(other)) {
796
+ if((int) n1 != RARRAY_LEN(other)) {
803
797
  rb_raise(rb_eRangeError, "row counts do not match (%d != %d)",
804
- (int) n1, (int) RARRAY_LEN(other));
798
+ (int) n1, (int) RARRAY_LEN(other));
805
799
  }
806
800
  for(k = 0; k < n1; k++) {
807
801
  vv = FUNCTION(gsl_matrix,row)(&mv.matrix, k);
@@ -824,7 +818,6 @@ static VALUE FUNCTION(rb_gsl_matrix,set)(int argc, VALUE *argv, VALUE obj)
824
818
  FUNCTION(gsl_matrix,set_all)(&mv.matrix, NUMCONV2(other));
825
819
  }
826
820
  }
827
-
828
821
  return obj;
829
822
  }
830
823
 
@@ -893,7 +886,7 @@ static VALUE FUNCTION(rb_gsl_matrix,to_s)(VALUE obj)
893
886
  strcpy(format2, format);
894
887
  #else
895
888
  strcpy(format, PRINTF_FORMAT);
896
- strcpy(format2, " "PRINTF_FORMAT);
889
+ strcpy(format2, " " PRINTF_FORMAT);
897
890
  #endif
898
891
  str = rb_str_new2("[ ");
899
892
  for (i = 0; i < m->size1; i++) {
@@ -904,11 +897,11 @@ static VALUE FUNCTION(rb_gsl_matrix,to_s)(VALUE obj)
904
897
  for (j = 0; j < m->size2; j++) {
905
898
  x = FUNCTION(gsl_matrix,get)(m, i, j);
906
899
  if (x < 0)
907
- sprintf(buf, format, x);
900
+ sprintf(buf, format, x);
908
901
  else
909
- sprintf(buf, format2, x);
902
+ sprintf(buf, format2, x);
910
903
  rb_str_cat(str, buf, strlen(buf));
911
- if (j >= (55/dig)) {
904
+ if ((int) j >= (55/dig)) {
912
905
  strcpy(buf, "... ");
913
906
  rb_str_cat(str, buf, strlen(buf));
914
907
  break;
@@ -1005,7 +998,7 @@ static VALUE FUNCTION(rb_gsl_matrix,set_diagonal)(VALUE obj, VALUE diag)
1005
998
  for (i = 0; i < m->size1; i++) FUNCTION(gsl_matrix,set)(m, i, i, x);
1006
999
  break;
1007
1000
  case T_ARRAY:
1008
- len = GSL_MIN_INT(m->size1, RARRAY_LEN(diag));
1001
+ len = GSL_MIN_INT((int) m->size1, RARRAY_LEN(diag));
1009
1002
  for (i = 0; i < len; i++) {
1010
1003
  FUNCTION(gsl_matrix,set)(m, i, i, NUMCONV2(rb_ary_entry(diag, i)));
1011
1004
  }
@@ -1015,11 +1008,11 @@ static VALUE FUNCTION(rb_gsl_matrix,set_diagonal)(VALUE obj, VALUE diag)
1015
1008
  Data_Get_Struct(diag, GSL_TYPE(gsl_vector), v);
1016
1009
  len = GSL_MIN_INT(m->size1, v->size);
1017
1010
  for (i = 0; i < len; i++) {
1018
- FUNCTION(gsl_matrix,set)(m, i, i, FUNCTION(gsl_vector,get)(v, i));
1011
+ FUNCTION(gsl_matrix,set)(m, i, i, FUNCTION(gsl_vector,get)(v, i));
1019
1012
  }
1020
1013
  } else {
1021
1014
  rb_raise(rb_eTypeError, "wrong argument type %s (GSL::Vector or Array expected)",
1022
- rb_class2name(CLASS_OF(diag)));
1015
+ rb_class2name(CLASS_OF(diag)));
1023
1016
  }
1024
1017
  break;
1025
1018
  }
@@ -1062,7 +1055,7 @@ static VALUE FUNCTION(rb_gsl_matrix,set_row)(VALUE obj, VALUE i, VALUE vv)
1062
1055
  if (CLASS_OF(vv) == rb_cRange) vv = rb_gsl_range2ary(vv);
1063
1056
  if (TYPE(vv) == T_ARRAY) {
1064
1057
  v = FUNCTION(gsl_vector,alloc)(RARRAY_LEN(vv));
1065
- for (j = 0; j < RARRAY_LEN(vv); j++) {
1058
+ for (j = 0; (int) j < RARRAY_LEN(vv); j++) {
1066
1059
  FUNCTION(gsl_vector,set)(v, j, NUMCONV2(rb_ary_entry(vv, j)));
1067
1060
  }
1068
1061
  flag = 1;
@@ -1086,7 +1079,7 @@ static VALUE FUNCTION(rb_gsl_matrix,set_col)(VALUE obj, VALUE j, VALUE vv)
1086
1079
  if (CLASS_OF(vv) == rb_cRange) vv = rb_gsl_range2ary(vv);
1087
1080
  if (TYPE(vv) == T_ARRAY) {
1088
1081
  v = FUNCTION(gsl_vector,alloc)(RARRAY_LEN(vv));
1089
- for (i = 0; i < RARRAY_LEN(vv); i++) {
1082
+ for (i = 0; (int) i < RARRAY_LEN(vv); i++) {
1090
1083
  FUNCTION(gsl_vector,set)(v, i, NUMCONV2(rb_ary_entry(vv, i)));
1091
1084
  }
1092
1085
  flag = 1;
@@ -1268,7 +1261,7 @@ static VALUE FUNCTION(rb_gsl_matrix,minmax_index)(VALUE obj)
1268
1261
  Data_Get_Struct(obj, GSL_TYPE(gsl_matrix), m);
1269
1262
  FUNCTION(gsl_matrix,minmax_index)(m, &imin, &jmin, &imax, &jmax);
1270
1263
  return rb_ary_new3(2, rb_ary_new3(2, INT2FIX(imin), INT2FIX(jmin)),
1271
- rb_ary_new3(2, INT2FIX(imax), INT2FIX(jmax)));
1264
+ rb_ary_new3(2, INT2FIX(imax), INT2FIX(jmax)));
1272
1265
  }
1273
1266
 
1274
1267
  static VALUE FUNCTION(rb_gsl_matrix,fwrite)(VALUE obj, VALUE io)
@@ -1333,7 +1326,7 @@ VALUE FUNCTION(rb_gsl_matrix,power)(VALUE obj, VALUE bb)
1333
1326
  size_t i, b;
1334
1327
  CHECK_FIXNUM(bb);
1335
1328
  Data_Get_Struct(obj, GSL_TYPE(gsl_matrix), m);
1336
- b = FIX2INT(bb);
1329
+ b = FIX2INT(bb);
1337
1330
  mtmp = FUNCTION(gsl_matrix,alloc)(m->size1, m->size2);
1338
1331
  mnew = FUNCTION(gsl_matrix,alloc)(m->size1, m->size2);
1339
1332
  FUNCTION(gsl_matrix,memcpy)(mnew, m);
@@ -1374,8 +1367,8 @@ static VALUE FUNCTION(rb_gsl_matrix,submatrix)(int argc, VALUE *argv, VALUE obj)
1374
1367
  }
1375
1368
 
1376
1369
  static VALUE FUNCTION(rb_gsl_matrix,return_vector_view)(VALUE obj, VALUE index,
1377
- QUALIFIED_VIEW(gsl_vector,view) (*f)(GSL_TYPE(gsl_matrix)*,
1378
- size_t))
1370
+ QUALIFIED_VIEW(gsl_vector,view) (*f)(GSL_TYPE(gsl_matrix)*,
1371
+ size_t))
1379
1372
  {
1380
1373
  GSL_TYPE(gsl_matrix) *m = NULL;
1381
1374
  QUALIFIED_VIEW(gsl_vector,view) *vv = NULL;
@@ -1402,9 +1395,8 @@ static VALUE FUNCTION(rb_gsl_matrix,column)(VALUE obj, VALUE j)
1402
1395
  return Data_Wrap_Struct(QUALIFIED_VIEW(cgsl_vector,col_view), 0, free, vv);
1403
1396
  }
1404
1397
 
1405
- #ifdef GSL_1_10_LATER
1406
1398
  static VALUE FUNCTION(rb_gsl_matrix,subrow)(VALUE obj, VALUE i, VALUE offset,
1407
- VALUE n)
1399
+ VALUE n)
1408
1400
  {
1409
1401
  GSL_TYPE(gsl_matrix) *m = NULL;
1410
1402
  QUALIFIED_VIEW(gsl_vector,view) *vv = NULL;
@@ -1414,7 +1406,7 @@ static VALUE FUNCTION(rb_gsl_matrix,subrow)(VALUE obj, VALUE i, VALUE offset,
1414
1406
  return Data_Wrap_Struct(QUALIFIED_VIEW(cgsl_vector,view), 0, free, vv);
1415
1407
  }
1416
1408
  static VALUE FUNCTION(rb_gsl_matrix,subcolumn)(VALUE obj, VALUE j, VALUE offset,
1417
- VALUE n)
1409
+ VALUE n)
1418
1410
  {
1419
1411
  GSL_TYPE(gsl_matrix) *m = NULL;
1420
1412
  QUALIFIED_VIEW(gsl_vector,view) *vv = NULL;
@@ -1423,7 +1415,6 @@ static VALUE FUNCTION(rb_gsl_matrix,subcolumn)(VALUE obj, VALUE j, VALUE offset,
1423
1415
  *vv = FUNCTION(gsl_matrix,subcolumn)(m, FIX2INT(j), FIX2INT(offset), FIX2INT(n));
1424
1416
  return Data_Wrap_Struct(QUALIFIED_VIEW(cgsl_vector,col_view), 0, free, vv);
1425
1417
  }
1426
- #endif
1427
1418
 
1428
1419
  static VALUE FUNCTION(rb_gsl_matrix,diagonal)(VALUE obj)
1429
1420
  {
@@ -1499,7 +1490,7 @@ static VALUE FUNCTION(rb_gsl_matrix,scale_bang)(VALUE obj, VALUE x)
1499
1490
  {
1500
1491
  GSL_TYPE(gsl_matrix) *m;
1501
1492
  Data_Get_Struct(obj, GSL_TYPE(gsl_matrix), m);
1502
- FUNCTION(gsl_matrix,scale)(m, NUMCONV(x));
1493
+ FUNCTION(gsl_matrix,scale)(m, NUMCONV2(x));
1503
1494
  return obj;
1504
1495
  }
1505
1496
 
@@ -1508,7 +1499,7 @@ static VALUE FUNCTION(rb_gsl_matrix,scale)(VALUE obj, VALUE b)
1508
1499
  GSL_TYPE(gsl_matrix) *m = NULL, *mnew;
1509
1500
  Data_Get_Struct(obj, GSL_TYPE(gsl_matrix), m);
1510
1501
  mnew = FUNCTION(make_matrix,clone)(m);
1511
- FUNCTION(gsl_matrix,scale)(mnew, NUMCONV(b));
1502
+ FUNCTION(gsl_matrix,scale)(mnew, NUMCONV2(b));
1512
1503
  return Data_Wrap_Struct(GSL_TYPE(cgsl_matrix), 0, FUNCTION(gsl_matrix,free), mnew);
1513
1504
  }
1514
1505
 
@@ -1516,7 +1507,7 @@ static VALUE FUNCTION(rb_gsl_matrix,add_constant_bang)(VALUE obj, VALUE x)
1516
1507
  {
1517
1508
  GSL_TYPE(gsl_matrix) *m;
1518
1509
  Data_Get_Struct(obj, GSL_TYPE(gsl_matrix), m);
1519
- FUNCTION(gsl_matrix,add_constant)(m, NUMCONV(x));
1510
+ FUNCTION(gsl_matrix,add_constant)(m, NUMCONV2(x));
1520
1511
  return obj;
1521
1512
  }
1522
1513
 
@@ -1525,7 +1516,7 @@ static VALUE FUNCTION(rb_gsl_matrix,add_constant)(VALUE obj, VALUE b)
1525
1516
  GSL_TYPE(gsl_matrix) *m = NULL, *mnew;
1526
1517
  Data_Get_Struct(obj, GSL_TYPE(gsl_matrix), m);
1527
1518
  mnew = FUNCTION(make_matrix,clone)(m);
1528
- FUNCTION(gsl_matrix,add_constant)(mnew, NUMCONV(b));
1519
+ FUNCTION(gsl_matrix,add_constant)(mnew, NUMCONV2(b));
1529
1520
  return Data_Wrap_Struct(GSL_TYPE(cgsl_matrix), 0, FUNCTION(gsl_matrix,free), mnew);
1530
1521
  }
1531
1522
 
@@ -1543,7 +1534,7 @@ static int FUNCTION(mygsl_matrix,equal)(GSL_TYPE(gsl_matrix) *a, GSL_TYPE(gsl_ma
1543
1534
  }
1544
1535
  return 1;
1545
1536
  }
1546
-
1537
+
1547
1538
  #ifdef HAVE_TENSOR_TENSOR_H
1548
1539
  EXTERN VALUE cgsl_tensor, cgsl_tensor_int;
1549
1540
  VALUE rb_gsl_tensor_equal(int argc, VALUE *argv, VALUE obj);
@@ -1626,7 +1617,7 @@ static VALUE FUNCTION(rb_gsl_matrix,equal_singleton)(int argc, VALUE *argv, VALU
1626
1617
  }
1627
1618
 
1628
1619
  #ifdef HAVE_TENSOR_TENSOR_H
1629
- #include "rb_gsl_tensor.h"
1620
+ #include "include/rb_gsl_tensor.h"
1630
1621
  static VALUE FUNCTION(rb_gsl_matrix,to_tensor)(VALUE obj)
1631
1622
  {
1632
1623
  GSL_TYPE(gsl_matrix) *m;
@@ -1711,7 +1702,7 @@ static VALUE FUNCTION(rb_gsl_matrix,pascal1)(VALUE obj, VALUE n)
1711
1702
  for (i = 1; i < dim; i++) {
1712
1703
  FUNCTION(gsl_matrix,set)(m, i, 0, (BASE) 1);
1713
1704
  for (j = 1; j < dim; j++) {
1714
- x=FUNCTION(gsl_matrix,get)(m,i-1,j)+FUNCTION(gsl_matrix,get)(m,i,j-1);
1705
+ x = FUNCTION(gsl_matrix,get)(m,i-1,j)+FUNCTION(gsl_matrix,get)(m,i,j-1);
1715
1706
  FUNCTION(gsl_matrix,set)(m, i, j, x);
1716
1707
  }
1717
1708
  }
@@ -1785,7 +1776,7 @@ static VALUE FUNCTION(rb_gsl_matrix,vandermonde)(VALUE obj, VALUE vv)
1785
1776
  Data_Get_Struct(vv, GSL_TYPE(gsl_vector), v);
1786
1777
  } else {
1787
1778
  rb_raise(rb_eTypeError, "wrong argument type %s (Array or Vector expected)",
1788
- rb_class2name(CLASS_OF(vv)));
1779
+ rb_class2name(CLASS_OF(vv)));
1789
1780
  }
1790
1781
  m = FUNCTION(gsl_matrix,alloc)(v->size, v->size);
1791
1782
  FUNCTION(mygsl_matrix,vandermonde)(m, v);
@@ -1798,10 +1789,10 @@ static void FUNCTION(mygsl_matrix,toeplitz)(GSL_TYPE(gsl_matrix) *m, GSL_TYPE(gs
1798
1789
  size_t i, j;
1799
1790
  for (i = 0; i < v->size; i++) {
1800
1791
  for (j = 0; j < v->size; j++) {
1801
- if (j >= i)
1802
- FUNCTION(gsl_matrix,set)(m, i, j, FUNCTION(gsl_vector,get)(v, j-i));
1792
+ if (j >= i)
1793
+ FUNCTION(gsl_matrix,set)(m, i, j, FUNCTION(gsl_vector,get)(v, j-i));
1803
1794
  else
1804
- FUNCTION(gsl_matrix,set)(m, i, j, FUNCTION(gsl_vector,get)(v, i-j));
1795
+ FUNCTION(gsl_matrix,set)(m, i, j, FUNCTION(gsl_vector,get)(v, i-j));
1805
1796
  }
1806
1797
  }
1807
1798
  }
@@ -1818,7 +1809,7 @@ static VALUE FUNCTION(rb_gsl_matrix,toeplitz)(VALUE obj, VALUE vv)
1818
1809
  Data_Get_Struct(vv, GSL_TYPE(gsl_vector), v);
1819
1810
  } else {
1820
1811
  rb_raise(rb_eTypeError, "wrong argument type %s (Array or Vector expected)",
1821
- rb_class2name(CLASS_OF(vv)));
1812
+ rb_class2name(CLASS_OF(vv)));
1822
1813
  }
1823
1814
  m = FUNCTION(gsl_matrix,alloc)(v->size, v->size);
1824
1815
  FUNCTION(mygsl_matrix,toeplitz)(m, v);
@@ -1839,7 +1830,7 @@ static VALUE FUNCTION(rb_gsl_matrix,circulant)(VALUE obj, VALUE vv)
1839
1830
  Data_Get_Struct(vv, GSL_TYPE(gsl_vector), v);
1840
1831
  } else {
1841
1832
  rb_raise(rb_eTypeError, "wrong argument type %s (Array or Vector expected)",
1842
- rb_class2name(CLASS_OF(vv)));
1833
+ rb_class2name(CLASS_OF(vv)));
1843
1834
  }
1844
1835
  m = FUNCTION(gsl_matrix,alloc)(v->size, v->size);
1845
1836
  FUNCTION(mygsl_vector,to_m_circulant)(m, v);
@@ -1848,7 +1839,7 @@ static VALUE FUNCTION(rb_gsl_matrix,circulant)(VALUE obj, VALUE vv)
1848
1839
  }
1849
1840
 
1850
1841
  static void FUNCTION(mygsl_matrix,indgen)(GSL_TYPE(gsl_matrix) *m,
1851
- BASE start, BASE step)
1842
+ BASE start, BASE step)
1852
1843
  {
1853
1844
  size_t i, j;
1854
1845
  BASE n;
@@ -1869,10 +1860,10 @@ static VALUE FUNCTION(rb_gsl_matrix,indgen_singleton)(int argc, VALUE *argv, VAL
1869
1860
  switch (argc) {
1870
1861
  case 4:
1871
1862
  step = NUMCONV2(argv[3]);
1872
- /* no break */
1863
+ /* no break */
1873
1864
  case 3:
1874
1865
  start = NUMCONV2(argv[2]);
1875
- /* no break */
1866
+ /* no break */
1876
1867
  case 2:
1877
1868
  n1 = NUM2INT(argv[0]);
1878
1869
  n2 = NUM2INT(argv[1]);
@@ -1893,7 +1884,7 @@ static VALUE FUNCTION(rb_gsl_matrix,indgen)(int argc, VALUE *argv, VALUE obj)
1893
1884
  switch (argc) {
1894
1885
  case 2:
1895
1886
  step = NUMCONV2(argv[1]);
1896
- /* no break */
1887
+ /* no break */
1897
1888
  case 1:
1898
1889
  start = NUMCONV2(argv[0]);
1899
1890
  break;
@@ -1916,7 +1907,7 @@ static VALUE FUNCTION(rb_gsl_matrix,indgen_bang)(int argc, VALUE *argv, VALUE ob
1916
1907
  switch (argc) {
1917
1908
  case 2:
1918
1909
  step = NUMCONV2(argv[1]);
1919
- /* no break */
1910
+ /* no break */
1920
1911
  case 1:
1921
1912
  start = NUMCONV2(argv[0]);
1922
1913
  break;
@@ -1938,10 +1929,10 @@ static VALUE FUNCTION(rb_gsl_matrix,to_a)(VALUE obj)
1938
1929
  size_t i, j;
1939
1930
  Data_Get_Struct(obj, GSL_TYPE(gsl_matrix), m);
1940
1931
  ma = rb_ary_new2(m->size1);
1941
- for(i=0; i < m->size1; i++) {
1932
+ for(i = 0; i < m->size1; i++) {
1942
1933
  ra = rb_ary_new2(m->size2);
1943
1934
  rb_ary_store(ma, i, ra);
1944
- for(j=0; j < m->size2; j++) {
1935
+ for(j = 0; j < m->size2; j++) {
1945
1936
  rb_ary_store(ra, j, C_TO_VALUE(FUNCTION(gsl_matrix,get)(m, i, j)));
1946
1937
  }
1947
1938
  }
@@ -1961,7 +1952,6 @@ static VALUE FUNCTION(rb_gsl_matrix,to_v)(VALUE obj)
1961
1952
  FUNCTION(gsl_vector,set)(v, k, FUNCTION(gsl_matrix,get)(m, i, j));
1962
1953
  }
1963
1954
  }
1964
-
1965
1955
  if(m->size1 > 1 && m->size2 == 1) {
1966
1956
  return Data_Wrap_Struct(CONCAT2(GSL_TYPE(cgsl_vector),col), 0, FUNCTION(gsl_vector,free), v);
1967
1957
  } else {
@@ -1994,7 +1984,7 @@ static VALUE FUNCTION(rb_gsl_matrix,norm)(VALUE obj)
1994
1984
  }
1995
1985
 
1996
1986
  static int FUNCTION(mygsl_matrix,reverse_columns)(GSL_TYPE(gsl_matrix) *dst,
1997
- GSL_TYPE(gsl_matrix) *src)
1987
+ GSL_TYPE(gsl_matrix) *src)
1998
1988
  {
1999
1989
  size_t j;
2000
1990
  QUALIFIED_VIEW(gsl_vector,view) col;
@@ -2008,7 +1998,7 @@ static int FUNCTION(mygsl_matrix,reverse_columns)(GSL_TYPE(gsl_matrix) *dst,
2008
1998
  }
2009
1999
 
2010
2000
  static int FUNCTION(mygsl_matrix,reverse_rows)(GSL_TYPE(gsl_matrix) *dst,
2011
- GSL_TYPE(gsl_matrix) *src)
2001
+ GSL_TYPE(gsl_matrix) *src)
2012
2002
  {
2013
2003
  size_t i;
2014
2004
  QUALIFIED_VIEW(gsl_vector,view) row;
@@ -2074,11 +2064,7 @@ static VALUE FUNCTION(rb_gsl_matrix,info)(VALUE obj)
2074
2064
  char buf[256];
2075
2065
  Data_Get_Struct(obj, GSL_TYPE(gsl_matrix), m);
2076
2066
  sprintf(buf, "Class: %s\n", rb_class2name(CLASS_OF(obj)));
2077
- #ifdef RUBY_1_9_LATER
2078
2067
  sprintf(buf, "%sSuperClass: %s\n", buf, rb_class2name(RCLASS_SUPER(CLASS_OF(obj))));
2079
- #else
2080
- sprintf(buf, "%sSuperClass: %s\n", buf, rb_class2name(RCLASS(CLASS_OF(obj))->super));
2081
- #endif
2082
2068
  sprintf(buf, "%sDimension: %dx%d\n", buf, (int) m->size1, (int) m->size2);
2083
2069
  sprintf(buf, "%sSize: %d\n", buf, (int) (m->size1*m->size2));
2084
2070
  return rb_str_new2(buf);
@@ -2116,14 +2102,14 @@ static VALUE FUNCTION(rb_gsl_matrix,all)(VALUE obj)
2116
2102
  vv = FUNCTION(gsl_matrix,column)(m, j);
2117
2103
  v = &vv.vector;
2118
2104
  /* if (FUNCTION(gsl_vector,isnull(v))) gsl_vector_int_set(vnew, j, 0);
2119
- else gsl_vector_int_set(vnew, j, 1);*/
2105
+ else gsl_vector_int_set(vnew, j, 1);*/
2120
2106
  for (i = 0; i < v->size; i++) {
2121
2107
  if (FUNCTION(gsl_vector,get)(v, i) == (BASE) 0) {
2122
- gsl_vector_int_set(vnew, j, 0);
2123
- flag = 0;
2124
- break;
2108
+ gsl_vector_int_set(vnew, j, 0);
2109
+ flag = 0;
2110
+ break;
2125
2111
  } else {
2126
- flag = 1;
2112
+ flag = 1;
2127
2113
  }
2128
2114
  }
2129
2115
  if (flag == 1) gsl_vector_int_set(vnew, j, 1);
@@ -2185,7 +2171,7 @@ static VALUE FUNCTION(rb_gsl_matrix,rot90)(int argc, VALUE *argv, VALUE obj)
2185
2171
  }
2186
2172
 
2187
2173
  void FUNCTION(mygsl_vector,diff)(GSL_TYPE(gsl_vector) *vdst,
2188
- GSL_TYPE(gsl_vector) *vsrc, size_t n);
2174
+ GSL_TYPE(gsl_vector) *vsrc, size_t n);
2189
2175
 
2190
2176
  static VALUE FUNCTION(rb_gsl_matrix,diff)(int argc, VALUE *argv, VALUE obj)
2191
2177
  {
@@ -2258,7 +2244,6 @@ static VALUE FUNCTION(rb_gsl_matrix,sgn)(VALUE obj)
2258
2244
  FUNCTION(gsl_matrix,set)(mnew, i, j, (BASE)(x>0 ? 1 : (x<0 ? -1 : 0)));
2259
2245
  }
2260
2246
  }
2261
-
2262
2247
  return Data_Wrap_Struct(GSL_TYPE(cgsl_matrix), 0, FUNCTION(gsl_matrix,free), mnew);
2263
2248
  }
2264
2249
 
@@ -2273,7 +2258,6 @@ static VALUE FUNCTION(rb_gsl_matrix,abs)(VALUE obj)
2273
2258
  FUNCTION(gsl_matrix,set)(mnew, i, j, (BASE) fabs(FUNCTION(gsl_matrix,get)(m, i, j)));
2274
2259
  }
2275
2260
  }
2276
-
2277
2261
  return Data_Wrap_Struct(GSL_TYPE(cgsl_matrix), 0, FUNCTION(gsl_matrix,free), mnew);
2278
2262
  }
2279
2263
 
@@ -2285,9 +2269,9 @@ static VALUE FUNCTION(rb_gsl_matrix,horzcat)(VALUE obj, VALUE mm2)
2285
2269
  CHECK_MAT(mm2);
2286
2270
  Data_Get_Struct(obj, GSL_TYPE(gsl_matrix), m);
2287
2271
  Data_Get_Struct(mm2, GSL_TYPE(gsl_matrix), m2);
2288
- if (m->size1 != m2->size1)
2272
+ if (m->size1 != m2->size1)
2289
2273
  rb_raise(rb_eRuntimeError, "Different number of rows (%d and %d).",
2290
- (int) m->size1, (int) m2->size1);
2274
+ (int) m->size1, (int) m2->size1);
2291
2275
  mnew = FUNCTION(gsl_matrix,alloc)(m->size1, m->size2 + m2->size2);
2292
2276
  for (j = 0, k = 0; j < m->size2; j++, k++) {
2293
2277
  v = FUNCTION(gsl_matrix,column)(m, j);
@@ -2315,9 +2299,9 @@ static VALUE FUNCTION(rb_gsl_matrix,vertcat)(VALUE obj, VALUE mm2)
2315
2299
  CHECK_MAT(mm2);
2316
2300
  Data_Get_Struct(obj, GSL_TYPE(gsl_matrix), m);
2317
2301
  Data_Get_Struct(mm2, GSL_TYPE(gsl_matrix), m2);
2318
- if (m->size2 != m2->size2)
2302
+ if (m->size2 != m2->size2)
2319
2303
  rb_raise(rb_eRuntimeError, "Different number of columns (%d and %d).",
2320
- (int) m->size2, (int) m2->size2);
2304
+ (int) m->size2, (int) m2->size2);
2321
2305
  mnew = FUNCTION(gsl_matrix,alloc)(m->size1 + m2->size1, m->size2);
2322
2306
  for (i = 0, k = 0; i < m->size1; i++, k++) {
2323
2307
  v = FUNCTION(gsl_matrix,row)(m, i);
@@ -2336,17 +2320,16 @@ static VALUE FUNCTION(rb_gsl_matrix,vertcat_singleton)(VALUE klass, VALUE mm, VA
2336
2320
  return FUNCTION(rb_gsl_matrix,vertcat)(mm, mm2);
2337
2321
  }
2338
2322
 
2339
- #ifdef GSL_1_9_LATER
2340
2323
  static VALUE FUNCTION(rb_gsl_matrix,property)(VALUE obj,
2341
- int (*f)(const GSL_TYPE(gsl_matrix)*)) {
2324
+ int (*f)(const GSL_TYPE (gsl_matrix)*)) {
2342
2325
  GSL_TYPE(gsl_matrix) *m;
2343
2326
  Data_Get_Struct(obj, GSL_TYPE(gsl_matrix), m);
2344
- return INT2FIX((*f)(m));
2327
+ return INT2FIX((*f)(m));
2345
2328
  }
2346
2329
 
2347
2330
  static VALUE FUNCTION(rb_gsl_matrix,property2)(VALUE obj,
2348
- int (*f)(const GSL_TYPE(gsl_matrix) *)) {
2349
- GSL_TYPE(gsl_matrix) *m;
2331
+ int (*f)(const GSL_TYPE (gsl_matrix) *)) {
2332
+ GSL_TYPE(gsl_matrix) *m;
2350
2333
  Data_Get_Struct(obj, GSL_TYPE(gsl_matrix), m);
2351
2334
  if ((*f)(m)) return Qtrue;
2352
2335
  else return Qfalse;
@@ -2357,28 +2340,25 @@ static VALUE FUNCTION(rb_gsl_matrix,ispos)(VALUE obj)
2357
2340
  }
2358
2341
  static VALUE FUNCTION(rb_gsl_matrix,ispos2)(VALUE obj)
2359
2342
  {
2360
- return FUNCTION(rb_gsl_matrix,property2)(obj, FUNCTION(gsl_matrix,ispos));
2343
+ return FUNCTION(rb_gsl_matrix,property2)(obj, FUNCTION(gsl_matrix,ispos));
2361
2344
  }
2362
2345
  static VALUE FUNCTION(rb_gsl_matrix,isneg)(VALUE obj)
2363
2346
  {
2364
- return FUNCTION(rb_gsl_matrix,property)(obj, FUNCTION(gsl_matrix,isneg));
2347
+ return FUNCTION(rb_gsl_matrix,property)(obj, FUNCTION(gsl_matrix,isneg));
2365
2348
  }
2366
2349
  static VALUE FUNCTION(rb_gsl_matrix,isneg2)(VALUE obj)
2367
2350
  {
2368
- return FUNCTION(rb_gsl_matrix,property2)(obj, FUNCTION(gsl_matrix,isneg));
2351
+ return FUNCTION(rb_gsl_matrix,property2)(obj, FUNCTION(gsl_matrix,isneg));
2369
2352
  }
2370
- #endif
2371
2353
 
2372
- #ifdef GSL_1_10_LATER
2373
2354
  static VALUE FUNCTION(rb_gsl_matrix,isnonneg)(VALUE obj)
2374
2355
  {
2375
- return FUNCTION(rb_gsl_matrix,property)(obj, FUNCTION(gsl_matrix,isnonneg));
2356
+ return FUNCTION(rb_gsl_matrix,property)(obj, FUNCTION(gsl_matrix,isnonneg));
2376
2357
  }
2377
2358
  static VALUE FUNCTION(rb_gsl_matrix,isnonneg2)(VALUE obj)
2378
2359
  {
2379
- return FUNCTION(rb_gsl_matrix,property2)(obj, FUNCTION(gsl_matrix,isnonneg));
2360
+ return FUNCTION(rb_gsl_matrix,property2)(obj, FUNCTION(gsl_matrix,isnonneg));
2380
2361
  }
2381
- #endif
2382
2362
 
2383
2363
  static VALUE FUNCTION(rb_gsl_matrix,symmetrize)(VALUE obj)
2384
2364
  {
@@ -2423,26 +2403,26 @@ void FUNCTION(Init_gsl_matrix,init)(VALUE module)
2423
2403
  rb_define_singleton_method(GSL_TYPE(cgsl_matrix), "eye", FUNCTION(rb_gsl_matrix,eye), -1);
2424
2404
  rb_define_singleton_method(GSL_TYPE(cgsl_matrix), "ones", FUNCTION(rb_gsl_matrix,ones), -1);
2425
2405
  rb_define_singleton_method(GSL_TYPE(cgsl_matrix), "zeros", FUNCTION(rb_gsl_matrix,zeros), -1);
2426
- rb_define_singleton_method(GSL_TYPE(cgsl_matrix), "diagonal",
2427
- FUNCTION(rb_gsl_matrix,diagonal_singleton), -1);
2428
- rb_define_singleton_method(GSL_TYPE(cgsl_matrix), "diag",
2429
- FUNCTION(rb_gsl_matrix,diagonal_singleton), -1);
2430
- rb_define_singleton_method(GSL_TYPE(cgsl_matrix), "identity",
2431
- FUNCTION(rb_gsl_matrix,identity), 1);
2432
- rb_define_singleton_method(GSL_TYPE(cgsl_matrix), "scalar",
2433
- FUNCTION(rb_gsl_matrix,identity), 1);
2434
- rb_define_singleton_method(GSL_TYPE(cgsl_matrix), "unit",
2435
- FUNCTION(rb_gsl_matrix,identity), 1);
2436
- rb_define_singleton_method(GSL_TYPE(cgsl_matrix), "I",
2437
- FUNCTION(rb_gsl_matrix,identity), 1);
2406
+ rb_define_singleton_method(GSL_TYPE(cgsl_matrix), "diagonal",
2407
+ FUNCTION(rb_gsl_matrix,diagonal_singleton), -1);
2408
+ rb_define_singleton_method(GSL_TYPE(cgsl_matrix), "diag",
2409
+ FUNCTION(rb_gsl_matrix,diagonal_singleton), -1);
2410
+ rb_define_singleton_method(GSL_TYPE(cgsl_matrix), "identity",
2411
+ FUNCTION(rb_gsl_matrix,identity), 1);
2412
+ rb_define_singleton_method(GSL_TYPE(cgsl_matrix), "scalar",
2413
+ FUNCTION(rb_gsl_matrix,identity), 1);
2414
+ rb_define_singleton_method(GSL_TYPE(cgsl_matrix), "unit",
2415
+ FUNCTION(rb_gsl_matrix,identity), 1);
2416
+ rb_define_singleton_method(GSL_TYPE(cgsl_matrix), "I",
2417
+ FUNCTION(rb_gsl_matrix,identity), 1);
2438
2418
 
2439
2419
  /*****/
2440
- rb_define_method(GSL_TYPE(cgsl_matrix), "size1",
2441
- FUNCTION(rb_gsl_matrix,size1), 0);
2442
- rb_define_method(GSL_TYPE(cgsl_matrix), "size2",
2443
- FUNCTION(rb_gsl_matrix,size2), 0);
2444
- rb_define_method(GSL_TYPE(cgsl_matrix), "shape",
2445
- FUNCTION(rb_gsl_matrix,shape), 0);
2420
+ rb_define_method(GSL_TYPE(cgsl_matrix), "size1",
2421
+ FUNCTION(rb_gsl_matrix,size1), 0);
2422
+ rb_define_method(GSL_TYPE(cgsl_matrix), "size2",
2423
+ FUNCTION(rb_gsl_matrix,size2), 0);
2424
+ rb_define_method(GSL_TYPE(cgsl_matrix), "shape",
2425
+ FUNCTION(rb_gsl_matrix,shape), 0);
2446
2426
  rb_define_alias(GSL_TYPE(cgsl_matrix), "size", "shape");
2447
2427
 
2448
2428
  rb_define_method(GSL_TYPE(cgsl_matrix), "get", FUNCTION(rb_gsl_matrix,get), -1);
@@ -2450,238 +2430,236 @@ void FUNCTION(Init_gsl_matrix,init)(VALUE module)
2450
2430
  rb_define_method(GSL_TYPE(cgsl_matrix), "set", FUNCTION(rb_gsl_matrix,set), -1);
2451
2431
  rb_define_alias(GSL_TYPE(cgsl_matrix), "[]=", "set");
2452
2432
 
2453
- rb_define_method(GSL_TYPE(cgsl_matrix), "set_all",
2454
- FUNCTION(rb_gsl_matrix,set_all), 1);
2455
- rb_define_method(GSL_TYPE(cgsl_matrix), "set_zero",
2456
- FUNCTION(rb_gsl_matrix,set_zero), 0);
2457
- rb_define_method(GSL_TYPE(cgsl_matrix), "set_identity",
2458
- FUNCTION(rb_gsl_matrix,set_identity), 0);
2459
-
2460
- rb_define_method(GSL_TYPE(cgsl_matrix), "print",
2461
- FUNCTION(rb_gsl_matrix,print), 0);
2462
- rb_define_method(GSL_TYPE(cgsl_matrix), "inspect",
2463
- FUNCTION(rb_gsl_matrix,inspect), 0);
2464
- rb_define_method(GSL_TYPE(cgsl_matrix), "to_s",
2465
- FUNCTION(rb_gsl_matrix,to_s), 0);
2466
-
2467
- rb_define_method(GSL_TYPE(cgsl_matrix), "set_diagonal",
2468
- FUNCTION(rb_gsl_matrix,set_diagonal), 1);
2469
-
2470
- rb_define_method(GSL_TYPE(cgsl_matrix), "get_row",
2471
- FUNCTION(rb_gsl_matrix,get_row), 1);
2472
- rb_define_method(GSL_TYPE(cgsl_matrix), "get_column",
2473
- FUNCTION(rb_gsl_matrix,get_col), 1);
2433
+ rb_define_method(GSL_TYPE(cgsl_matrix), "set_all",
2434
+ FUNCTION(rb_gsl_matrix,set_all), 1);
2435
+ rb_define_method(GSL_TYPE(cgsl_matrix), "set_zero",
2436
+ FUNCTION(rb_gsl_matrix,set_zero), 0);
2437
+ rb_define_method(GSL_TYPE(cgsl_matrix), "set_identity",
2438
+ FUNCTION(rb_gsl_matrix,set_identity), 0);
2439
+
2440
+ rb_define_method(GSL_TYPE(cgsl_matrix), "print",
2441
+ FUNCTION(rb_gsl_matrix,print), 0);
2442
+ rb_define_method(GSL_TYPE(cgsl_matrix), "inspect",
2443
+ FUNCTION(rb_gsl_matrix,inspect), 0);
2444
+ rb_define_method(GSL_TYPE(cgsl_matrix), "to_s",
2445
+ FUNCTION(rb_gsl_matrix,to_s), 0);
2446
+
2447
+ rb_define_method(GSL_TYPE(cgsl_matrix), "set_diagonal",
2448
+ FUNCTION(rb_gsl_matrix,set_diagonal), 1);
2449
+
2450
+ rb_define_method(GSL_TYPE(cgsl_matrix), "get_row",
2451
+ FUNCTION(rb_gsl_matrix,get_row), 1);
2452
+ rb_define_method(GSL_TYPE(cgsl_matrix), "get_column",
2453
+ FUNCTION(rb_gsl_matrix,get_col), 1);
2474
2454
  rb_define_alias(GSL_TYPE(cgsl_matrix), "get_col", "get_column");
2475
- rb_define_method(GSL_TYPE(cgsl_matrix), "set_column",
2476
- FUNCTION(rb_gsl_matrix,set_col), 2);
2455
+ rb_define_method(GSL_TYPE(cgsl_matrix), "set_column",
2456
+ FUNCTION(rb_gsl_matrix,set_col), 2);
2477
2457
  rb_define_alias(GSL_TYPE(cgsl_matrix), "set_col", "set_column");
2478
- rb_define_method(GSL_TYPE(cgsl_matrix), "set_row",
2479
- FUNCTION(rb_gsl_matrix,set_row), 2);
2480
-
2481
- rb_define_method(GSL_TYPE(cgsl_matrix), "clone",
2482
- FUNCTION(rb_gsl_matrix,clone), 0);
2458
+ rb_define_method(GSL_TYPE(cgsl_matrix), "set_row",
2459
+ FUNCTION(rb_gsl_matrix,set_row), 2);
2460
+
2461
+ rb_define_method(GSL_TYPE(cgsl_matrix), "clone",
2462
+ FUNCTION(rb_gsl_matrix,clone), 0);
2483
2463
  rb_define_alias(GSL_TYPE(cgsl_matrix), "duplicate", "clone");
2484
2464
  rb_define_alias(GSL_TYPE(cgsl_matrix), "dup", "clone");
2485
- rb_define_method(GSL_TYPE(cgsl_matrix), "isnull",
2486
- FUNCTION(rb_gsl_matrix,isnull), 0);
2487
- rb_define_method(GSL_TYPE(cgsl_matrix), "isnull?",
2488
- FUNCTION(rb_gsl_matrix,isnull2), 0);
2489
-
2490
- rb_define_singleton_method(GSL_TYPE(cgsl_matrix), "memcpy",
2491
- FUNCTION(rb_gsl_matrix,memcpy), 2);
2492
-
2493
- rb_define_method(GSL_TYPE(cgsl_matrix), "swap_rows",
2494
- FUNCTION(rb_gsl_matrix,swap_rows), 2);
2465
+ rb_define_method(GSL_TYPE(cgsl_matrix), "isnull",
2466
+ FUNCTION(rb_gsl_matrix,isnull), 0);
2467
+ rb_define_method(GSL_TYPE(cgsl_matrix), "isnull?",
2468
+ FUNCTION(rb_gsl_matrix,isnull2), 0);
2469
+
2470
+ rb_define_singleton_method(GSL_TYPE(cgsl_matrix), "memcpy",
2471
+ FUNCTION(rb_gsl_matrix,memcpy), 2);
2472
+
2473
+ rb_define_method(GSL_TYPE(cgsl_matrix), "swap_rows",
2474
+ FUNCTION(rb_gsl_matrix,swap_rows), 2);
2495
2475
  rb_define_method(GSL_TYPE(cgsl_matrix), "swap_rows!",
2496
- FUNCTION(rb_gsl_matrix,swap_rows_bang), 2);
2476
+ FUNCTION(rb_gsl_matrix,swap_rows_bang), 2);
2497
2477
  rb_define_method(GSL_TYPE(cgsl_matrix), "swap_columns",
2498
- FUNCTION(rb_gsl_matrix,swap_columns), 2);
2478
+ FUNCTION(rb_gsl_matrix,swap_columns), 2);
2499
2479
  rb_define_alias(GSL_TYPE(cgsl_matrix), "swap_cols", "swap_columns");
2500
2480
  rb_define_method(GSL_TYPE(cgsl_matrix), "swap_columns!",
2501
- FUNCTION(rb_gsl_matrix,swap_columns_bang), 2);
2481
+ FUNCTION(rb_gsl_matrix,swap_columns_bang), 2);
2502
2482
  rb_define_alias(GSL_TYPE(cgsl_matrix), "swap_cols!", "swap_columns!");
2503
- rb_define_method(GSL_TYPE(cgsl_matrix), "swap_rowcol",
2504
- FUNCTION(rb_gsl_matrix,swap_rowcol), 2);
2505
- rb_define_method(GSL_TYPE(cgsl_matrix), "swap_rowcol!",
2506
- FUNCTION(rb_gsl_matrix,swap_rowcol_bang), 2);
2483
+ rb_define_method(GSL_TYPE(cgsl_matrix), "swap_rowcol",
2484
+ FUNCTION(rb_gsl_matrix,swap_rowcol), 2);
2485
+ rb_define_method(GSL_TYPE(cgsl_matrix), "swap_rowcol!",
2486
+ FUNCTION(rb_gsl_matrix,swap_rowcol_bang), 2);
2507
2487
  rb_define_method(GSL_TYPE(cgsl_matrix), "transpose_memcpy",
2508
- FUNCTION(rb_gsl_matrix,transpose_memcpy), 0);
2488
+ FUNCTION(rb_gsl_matrix,transpose_memcpy), 0);
2509
2489
  rb_define_alias(GSL_TYPE(cgsl_matrix), "transpose", "transpose_memcpy");
2510
2490
  rb_define_alias(GSL_TYPE(cgsl_matrix), "trans", "transpose_memcpy");
2511
- rb_define_method(GSL_TYPE(cgsl_matrix), "transpose!",
2512
- FUNCTION(rb_gsl_matrix,transpose_bang), 0);
2491
+ rb_define_method(GSL_TYPE(cgsl_matrix), "transpose!",
2492
+ FUNCTION(rb_gsl_matrix,transpose_bang), 0);
2513
2493
  rb_define_alias(GSL_TYPE(cgsl_matrix), "trans!", "transpose!");
2514
- rb_define_method(GSL_TYPE(cgsl_matrix), "reverse_columns",
2515
- FUNCTION(rb_gsl_matrix,reverse_columns), 0);
2494
+ rb_define_method(GSL_TYPE(cgsl_matrix), "reverse_columns",
2495
+ FUNCTION(rb_gsl_matrix,reverse_columns), 0);
2516
2496
  rb_define_alias(GSL_TYPE(cgsl_matrix), "fliplr", "reverse_columns");
2517
- rb_define_method(GSL_TYPE(cgsl_matrix), "reverse_columns!",
2518
- FUNCTION(rb_gsl_matrix,reverse_columns_bang), 0);
2519
- rb_define_method(GSL_TYPE(cgsl_matrix), "reverse_rows",
2520
- FUNCTION(rb_gsl_matrix,reverse_rows), 0);
2497
+ rb_define_method(GSL_TYPE(cgsl_matrix), "reverse_columns!",
2498
+ FUNCTION(rb_gsl_matrix,reverse_columns_bang), 0);
2499
+ rb_define_method(GSL_TYPE(cgsl_matrix), "reverse_rows",
2500
+ FUNCTION(rb_gsl_matrix,reverse_rows), 0);
2521
2501
  rb_define_alias(GSL_TYPE(cgsl_matrix), "flipud", "reverse_rows");
2522
- rb_define_method(GSL_TYPE(cgsl_matrix), "reverse_rows!",
2523
- FUNCTION(rb_gsl_matrix,reverse_rows_bang), 0);
2502
+ rb_define_method(GSL_TYPE(cgsl_matrix), "reverse_rows!",
2503
+ FUNCTION(rb_gsl_matrix,reverse_rows_bang), 0);
2524
2504
  /*****/
2525
- rb_define_singleton_method(GSL_TYPE(cgsl_matrix), "swap",
2526
- FUNCTION(rb_gsl_matrix,swap), 2);
2505
+ rb_define_singleton_method(GSL_TYPE(cgsl_matrix), "swap",
2506
+ FUNCTION(rb_gsl_matrix,swap), 2);
2527
2507
 
2528
2508
  rb_define_method(GSL_TYPE(cgsl_matrix), "max", FUNCTION(rb_gsl_matrix,max), 0);
2529
2509
  rb_define_method(GSL_TYPE(cgsl_matrix), "min", FUNCTION(rb_gsl_matrix,min), 0);
2530
2510
  rb_define_method(GSL_TYPE(cgsl_matrix), "minmax",
2531
- FUNCTION(rb_gsl_matrix,minmax), 0);
2511
+ FUNCTION(rb_gsl_matrix,minmax), 0);
2532
2512
  rb_define_method(GSL_TYPE(cgsl_matrix), "max_index",
2533
- FUNCTION(rb_gsl_matrix,max_index), 0);
2534
- rb_define_method(GSL_TYPE(cgsl_matrix), "min_index",
2535
- FUNCTION(rb_gsl_matrix,min_index), 0);
2513
+ FUNCTION(rb_gsl_matrix,max_index), 0);
2514
+ rb_define_method(GSL_TYPE(cgsl_matrix), "min_index",
2515
+ FUNCTION(rb_gsl_matrix,min_index), 0);
2536
2516
  rb_define_method(GSL_TYPE(cgsl_matrix), "minmax_index",
2537
- FUNCTION(rb_gsl_matrix,minmax_index), 0);
2517
+ FUNCTION(rb_gsl_matrix,minmax_index), 0);
2538
2518
 
2539
- rb_define_method(GSL_TYPE(cgsl_matrix), "fwrite",
2540
- FUNCTION(rb_gsl_matrix,fwrite), 1);
2541
- rb_define_method(GSL_TYPE(cgsl_matrix), "fread",
2542
- FUNCTION(rb_gsl_matrix,fread), 1);
2519
+ rb_define_method(GSL_TYPE(cgsl_matrix), "fwrite",
2520
+ FUNCTION(rb_gsl_matrix,fwrite), 1);
2521
+ rb_define_method(GSL_TYPE(cgsl_matrix), "fread",
2522
+ FUNCTION(rb_gsl_matrix,fread), 1);
2543
2523
  rb_define_method(GSL_TYPE(cgsl_matrix), "fprintf",
2544
- FUNCTION(rb_gsl_matrix,fprintf), -1);
2545
- rb_define_method(GSL_TYPE(cgsl_matrix), "printf",
2546
- FUNCTION(rb_gsl_matrix,printf), -1);
2524
+ FUNCTION(rb_gsl_matrix,fprintf), -1);
2525
+ rb_define_method(GSL_TYPE(cgsl_matrix), "printf",
2526
+ FUNCTION(rb_gsl_matrix,printf), -1);
2547
2527
  rb_define_method(GSL_TYPE(cgsl_matrix), "fscanf",
2548
- FUNCTION(rb_gsl_matrix,fscanf), 1);
2528
+ FUNCTION(rb_gsl_matrix,fscanf), 1);
2549
2529
 
2550
- rb_define_method(GSL_TYPE(cgsl_matrix), "trace",
2551
- FUNCTION(rb_gsl_matrix,trace), 0);
2530
+ rb_define_method(GSL_TYPE(cgsl_matrix), "trace",
2531
+ FUNCTION(rb_gsl_matrix,trace), 0);
2552
2532
 
2553
- rb_define_method(GSL_TYPE(cgsl_matrix), "-@",
2554
- FUNCTION(rb_gsl_matrix,uminus), 0);
2555
- rb_define_method(GSL_TYPE(cgsl_matrix), "+@",
2556
- FUNCTION(rb_gsl_matrix,uplus), 0);
2533
+ rb_define_method(GSL_TYPE(cgsl_matrix), "-@",
2534
+ FUNCTION(rb_gsl_matrix,uminus), 0);
2535
+ rb_define_method(GSL_TYPE(cgsl_matrix), "+@",
2536
+ FUNCTION(rb_gsl_matrix,uplus), 0);
2557
2537
 
2558
2538
 
2559
2539
  /*****/
2560
- rb_define_method(GSL_TYPE(cgsl_matrix), "submatrix",
2561
- FUNCTION(rb_gsl_matrix,submatrix), -1);
2540
+ rb_define_method(GSL_TYPE(cgsl_matrix), "submatrix",
2541
+ FUNCTION(rb_gsl_matrix,submatrix), -1);
2562
2542
  rb_define_alias(GSL_TYPE(cgsl_matrix), "view", "submatrix");
2563
2543
 
2564
2544
  rb_define_method(GSL_TYPE(cgsl_matrix), "row", FUNCTION(rb_gsl_matrix,row), 1);
2565
2545
  /* rb_define_alias(GSL_TYPE(cgsl_matrix), "[]", "row");*/
2566
- rb_define_method(GSL_TYPE(cgsl_matrix), "column",
2567
- FUNCTION(rb_gsl_matrix,column), 1);
2546
+ rb_define_method(GSL_TYPE(cgsl_matrix), "column",
2547
+ FUNCTION(rb_gsl_matrix,column), 1);
2568
2548
  rb_define_alias(GSL_TYPE(cgsl_matrix), "col", "column");
2569
2549
 
2570
- #ifdef GSL_1_10_LATER
2571
- rb_define_method(GSL_TYPE(cgsl_matrix), "subrow",
2572
- FUNCTION(rb_gsl_matrix,subrow), 3);
2573
- rb_define_method(GSL_TYPE(cgsl_matrix), "subcolumn",
2574
- FUNCTION(rb_gsl_matrix,subcolumn), 3);
2575
- rb_define_alias(GSL_TYPE(cgsl_matrix), "subcol", "subcolumn");
2576
- #endif
2550
+ rb_define_method(GSL_TYPE(cgsl_matrix), "subrow",
2551
+ FUNCTION(rb_gsl_matrix,subrow), 3);
2552
+ rb_define_method(GSL_TYPE(cgsl_matrix), "subcolumn",
2553
+ FUNCTION(rb_gsl_matrix,subcolumn), 3);
2554
+ rb_define_alias(GSL_TYPE(cgsl_matrix), "subcol", "subcolumn");
2577
2555
 
2578
- rb_define_method(GSL_TYPE(cgsl_matrix), "diagonal",
2579
- FUNCTION(rb_gsl_matrix,diagonal), 0);
2556
+ rb_define_method(GSL_TYPE(cgsl_matrix), "diagonal",
2557
+ FUNCTION(rb_gsl_matrix,diagonal), 0);
2580
2558
  rb_define_alias(GSL_TYPE(cgsl_matrix), "diag", "diagonal");
2581
2559
 
2582
- rb_define_method(GSL_TYPE(cgsl_matrix), "subdiagonal",
2583
- FUNCTION(rb_gsl_matrix,subdiagonal), 1);
2584
- rb_define_method(GSL_TYPE(cgsl_matrix), "superdiagonal",
2585
- FUNCTION(rb_gsl_matrix,superdiagonal), 1);
2586
- rb_define_method(GSL_TYPE(cgsl_matrix), "vector_view",
2587
- FUNCTION(rb_gsl_matrix,vector_view), 0);
2560
+ rb_define_method(GSL_TYPE(cgsl_matrix), "subdiagonal",
2561
+ FUNCTION(rb_gsl_matrix,subdiagonal), 1);
2562
+ rb_define_method(GSL_TYPE(cgsl_matrix), "superdiagonal",
2563
+ FUNCTION(rb_gsl_matrix,superdiagonal), 1);
2564
+ rb_define_method(GSL_TYPE(cgsl_matrix), "vector_view",
2565
+ FUNCTION(rb_gsl_matrix,vector_view), 0);
2588
2566
 
2589
- rb_define_method(GSL_TYPE(cgsl_matrix), "each_row",
2590
- FUNCTION(rb_gsl_matrix,each_row), 0);
2567
+ rb_define_method(GSL_TYPE(cgsl_matrix), "each_row",
2568
+ FUNCTION(rb_gsl_matrix,each_row), 0);
2591
2569
  rb_define_method(GSL_TYPE(cgsl_matrix), "each_col",
2592
- FUNCTION(rb_gsl_matrix,each_col), 0);
2570
+ FUNCTION(rb_gsl_matrix,each_col), 0);
2593
2571
  rb_define_alias(GSL_TYPE(cgsl_matrix), "each_column", "each_col");
2594
2572
 
2595
- rb_define_method(GSL_TYPE(cgsl_matrix), "scale",
2596
- FUNCTION(rb_gsl_matrix,scale), 1);
2573
+ rb_define_method(GSL_TYPE(cgsl_matrix), "scale",
2574
+ FUNCTION(rb_gsl_matrix,scale), 1);
2597
2575
  rb_define_method(GSL_TYPE(cgsl_matrix), "scale!",
2598
- FUNCTION(rb_gsl_matrix,scale_bang), 1);
2576
+ FUNCTION(rb_gsl_matrix,scale_bang), 1);
2599
2577
  rb_define_method(GSL_TYPE(cgsl_matrix), "add_constant",
2600
- FUNCTION(rb_gsl_matrix,add_constant), 1);
2601
- rb_define_method(GSL_TYPE(cgsl_matrix), "add_constant!",
2602
- FUNCTION(rb_gsl_matrix,add_constant_bang), 1);
2578
+ FUNCTION(rb_gsl_matrix,add_constant), 1);
2579
+ rb_define_method(GSL_TYPE(cgsl_matrix), "add_constant!",
2580
+ FUNCTION(rb_gsl_matrix,add_constant_bang), 1);
2603
2581
 
2604
- rb_define_method(GSL_TYPE(cgsl_matrix), "equal?",
2605
- FUNCTION(rb_gsl_matrix,equal), -1);
2582
+ rb_define_method(GSL_TYPE(cgsl_matrix), "equal?",
2583
+ FUNCTION(rb_gsl_matrix,equal), -1);
2606
2584
  rb_define_alias(GSL_TYPE(cgsl_matrix), "==", "equal?");
2607
- rb_define_singleton_method(GSL_TYPE(cgsl_matrix), "equal?",
2608
- FUNCTION(rb_gsl_matrix,equal_singleton), -1);
2585
+ rb_define_singleton_method(GSL_TYPE(cgsl_matrix), "equal?",
2586
+ FUNCTION(rb_gsl_matrix,equal_singleton), -1);
2609
2587
 
2610
- rb_define_method(GSL_TYPE(cgsl_matrix), "power",
2611
- FUNCTION(rb_gsl_matrix,power), 1);
2588
+ rb_define_method(GSL_TYPE(cgsl_matrix), "power",
2589
+ FUNCTION(rb_gsl_matrix,power), 1);
2612
2590
  rb_define_alias(GSL_TYPE(cgsl_matrix), "**", "power");
2613
2591
  rb_define_alias(GSL_TYPE(cgsl_matrix), "^", "power");
2614
2592
 
2615
- rb_define_method(GSL_TYPE(cgsl_matrix), "collect",
2616
- FUNCTION(rb_gsl_matrix,collect), 0);
2617
- rb_define_method(GSL_TYPE(cgsl_matrix), "collect!",
2618
- FUNCTION(rb_gsl_matrix,collect_bang), 0);
2593
+ rb_define_method(GSL_TYPE(cgsl_matrix), "collect",
2594
+ FUNCTION(rb_gsl_matrix,collect), 0);
2595
+ rb_define_method(GSL_TYPE(cgsl_matrix), "collect!",
2596
+ FUNCTION(rb_gsl_matrix,collect_bang), 0);
2619
2597
  rb_define_alias(GSL_TYPE(cgsl_matrix), "map", "collect");
2620
2598
  rb_define_alias(GSL_TYPE(cgsl_matrix), "map!", "collect!");
2621
2599
  #ifdef HAVE_TENSOR_TENSOR_H
2622
- rb_define_method(GSL_TYPE(cgsl_matrix), "to_tensor",
2623
- FUNCTION(rb_gsl_matrix,to_tensor), 0);
2600
+ rb_define_method(GSL_TYPE(cgsl_matrix), "to_tensor",
2601
+ FUNCTION(rb_gsl_matrix,to_tensor), 0);
2624
2602
  #endif
2625
2603
 
2626
2604
  /*****/
2627
2605
 
2628
- rb_define_method(GSL_TYPE(cgsl_matrix), "to_a",
2629
- FUNCTION(rb_gsl_matrix,to_a), 0);
2630
- rb_define_method(GSL_TYPE(cgsl_matrix), "to_v",
2631
- FUNCTION(rb_gsl_matrix,to_v), 0);
2632
- rb_define_method(GSL_TYPE(cgsl_matrix), "to_vview",
2633
- FUNCTION(rb_gsl_matrix,to_vview), 0);
2606
+ rb_define_method(GSL_TYPE(cgsl_matrix), "to_a",
2607
+ FUNCTION(rb_gsl_matrix,to_a), 0);
2608
+ rb_define_method(GSL_TYPE(cgsl_matrix), "to_v",
2609
+ FUNCTION(rb_gsl_matrix,to_v), 0);
2610
+ rb_define_method(GSL_TYPE(cgsl_matrix), "to_vview",
2611
+ FUNCTION(rb_gsl_matrix,to_vview), 0);
2634
2612
  rb_define_alias(GSL_TYPE(cgsl_matrix), "data", "to_vview");
2635
2613
  rb_define_method(GSL_TYPE(cgsl_matrix), "norm",
2636
- FUNCTION(rb_gsl_matrix,norm), 0);
2614
+ FUNCTION(rb_gsl_matrix,norm), 0);
2637
2615
 
2638
- rb_define_method(GSL_TYPE(cgsl_matrix), "upper",
2639
- FUNCTION(rb_gsl_matrix,upper), 0);
2640
- rb_define_method(GSL_TYPE(cgsl_matrix), "lower",
2641
- FUNCTION(rb_gsl_matrix,lower), 0);
2642
- rb_define_method(GSL_TYPE(cgsl_matrix), "block",
2643
- FUNCTION(rb_gsl_matrix,block), 0);
2616
+ rb_define_method(GSL_TYPE(cgsl_matrix), "upper",
2617
+ FUNCTION(rb_gsl_matrix,upper), 0);
2618
+ rb_define_method(GSL_TYPE(cgsl_matrix), "lower",
2619
+ FUNCTION(rb_gsl_matrix,lower), 0);
2620
+ rb_define_method(GSL_TYPE(cgsl_matrix), "block",
2621
+ FUNCTION(rb_gsl_matrix,block), 0);
2644
2622
 
2645
2623
  /***** Special matrices *****/
2646
2624
  rb_define_singleton_method(GSL_TYPE(cgsl_matrix), "pascal",
2647
- FUNCTION(rb_gsl_matrix,pascal1), 1);
2648
- rb_define_singleton_method(GSL_TYPE(cgsl_matrix), "vandermonde",
2649
- FUNCTION(rb_gsl_matrix,vandermonde), 1);
2625
+ FUNCTION(rb_gsl_matrix,pascal1), 1);
2626
+ rb_define_singleton_method(GSL_TYPE(cgsl_matrix), "vandermonde",
2627
+ FUNCTION(rb_gsl_matrix,vandermonde), 1);
2650
2628
  rb_define_singleton_method(GSL_TYPE(cgsl_matrix), "vander",
2651
- FUNCTION(rb_gsl_matrix,vandermonde), 1);
2652
- rb_define_singleton_method(GSL_TYPE(cgsl_matrix), "toeplitz",
2653
- FUNCTION(rb_gsl_matrix,toeplitz), 1);
2654
- rb_define_singleton_method(GSL_TYPE(cgsl_matrix), "circulant",
2655
- FUNCTION(rb_gsl_matrix,circulant), 1);
2629
+ FUNCTION(rb_gsl_matrix,vandermonde), 1);
2630
+ rb_define_singleton_method(GSL_TYPE(cgsl_matrix), "toeplitz",
2631
+ FUNCTION(rb_gsl_matrix,toeplitz), 1);
2632
+ rb_define_singleton_method(GSL_TYPE(cgsl_matrix), "circulant",
2633
+ FUNCTION(rb_gsl_matrix,circulant), 1);
2656
2634
  rb_define_singleton_method(GSL_TYPE(cgsl_matrix), "indgen",
2657
- FUNCTION(rb_gsl_matrix,indgen_singleton), -1);
2658
- rb_define_method(GSL_TYPE(cgsl_matrix), "indgen",
2659
- FUNCTION(rb_gsl_matrix,indgen), -1);
2660
- rb_define_method(GSL_TYPE(cgsl_matrix), "indgen!",
2661
- FUNCTION(rb_gsl_matrix,indgen_bang), -1);
2662
-
2663
- rb_define_method(GSL_TYPE(cgsl_matrix), "info",
2664
- FUNCTION(rb_gsl_matrix,info), 0);
2635
+ FUNCTION(rb_gsl_matrix,indgen_singleton), -1);
2636
+ rb_define_method(GSL_TYPE(cgsl_matrix), "indgen",
2637
+ FUNCTION(rb_gsl_matrix,indgen), -1);
2638
+ rb_define_method(GSL_TYPE(cgsl_matrix), "indgen!",
2639
+ FUNCTION(rb_gsl_matrix,indgen_bang), -1);
2640
+
2641
+ rb_define_method(GSL_TYPE(cgsl_matrix), "info",
2642
+ FUNCTION(rb_gsl_matrix,info), 0);
2665
2643
  #ifdef BASE_DOUBLE
2666
- rb_define_singleton_method(GSL_TYPE(cgsl_matrix), "hilbert",
2667
- FUNCTION(rb_gsl_matrix,hilbert), 1);
2668
- rb_define_singleton_method(GSL_TYPE(cgsl_matrix), "hilb",
2669
- FUNCTION(rb_gsl_matrix,hilbert), 1);
2670
- rb_define_singleton_method(GSL_TYPE(cgsl_matrix), "invhilbert",
2671
- FUNCTION(rb_gsl_matrix,invhilbert), 1);
2672
- rb_define_singleton_method(GSL_TYPE(cgsl_matrix), "invhilb",
2673
- FUNCTION(rb_gsl_matrix,invhilbert), 1);
2644
+ rb_define_singleton_method(GSL_TYPE(cgsl_matrix), "hilbert",
2645
+ FUNCTION(rb_gsl_matrix,hilbert), 1);
2646
+ rb_define_singleton_method(GSL_TYPE(cgsl_matrix), "hilb",
2647
+ FUNCTION(rb_gsl_matrix,hilbert), 1);
2648
+ rb_define_singleton_method(GSL_TYPE(cgsl_matrix), "invhilbert",
2649
+ FUNCTION(rb_gsl_matrix,invhilbert), 1);
2650
+ rb_define_singleton_method(GSL_TYPE(cgsl_matrix), "invhilb",
2651
+ FUNCTION(rb_gsl_matrix,invhilbert), 1);
2674
2652
  #endif
2675
2653
 
2676
- rb_define_method(GSL_TYPE(cgsl_matrix), "any",
2677
- FUNCTION(rb_gsl_matrix,any), 0);
2678
- rb_define_method(GSL_TYPE(cgsl_matrix), "all",
2679
- FUNCTION(rb_gsl_matrix,all), 0);
2680
- rb_define_method(GSL_TYPE(cgsl_matrix), "rot90",
2681
- FUNCTION(rb_gsl_matrix,rot90), -1);
2654
+ rb_define_method(GSL_TYPE(cgsl_matrix), "any",
2655
+ FUNCTION(rb_gsl_matrix,any), 0);
2656
+ rb_define_method(GSL_TYPE(cgsl_matrix), "all",
2657
+ FUNCTION(rb_gsl_matrix,all), 0);
2658
+ rb_define_method(GSL_TYPE(cgsl_matrix), "rot90",
2659
+ FUNCTION(rb_gsl_matrix,rot90), -1);
2682
2660
 
2683
- rb_define_method(GSL_TYPE(cgsl_matrix), "diff",
2684
- FUNCTION(rb_gsl_matrix,diff), -1);
2661
+ rb_define_method(GSL_TYPE(cgsl_matrix), "diff",
2662
+ FUNCTION(rb_gsl_matrix,diff), -1);
2685
2663
  rb_define_method(GSL_TYPE(cgsl_matrix), "isnan", FUNCTION(rb_gsl_matrix,isnan), 0);
2686
2664
  rb_define_method(GSL_TYPE(cgsl_matrix), "isinf", FUNCTION(rb_gsl_matrix,isinf), 0);
2687
2665
  rb_define_method(GSL_TYPE(cgsl_matrix), "finite", FUNCTION(rb_gsl_matrix,finite), 0);
@@ -2698,17 +2676,13 @@ void FUNCTION(Init_gsl_matrix,init)(VALUE module)
2698
2676
  rb_define_method(GSL_TYPE(cgsl_matrix), "vertcat", FUNCTION(rb_gsl_matrix,vertcat), 1);
2699
2677
  rb_define_singleton_method(GSL_TYPE(cgsl_matrix), "vertcat", FUNCTION(rb_gsl_matrix,vertcat_singleton), 2);
2700
2678
 
2701
- #ifdef GSL_1_9_LATER
2702
2679
  rb_define_method(GSL_TYPE(cgsl_matrix), "ispos", FUNCTION(rb_gsl_matrix,ispos), 0);
2703
- rb_define_method(GSL_TYPE(cgsl_matrix), "ispos?", FUNCTION(rb_gsl_matrix,ispos2), 0);
2680
+ rb_define_method(GSL_TYPE(cgsl_matrix), "ispos?", FUNCTION(rb_gsl_matrix,ispos2), 0);
2704
2681
  rb_define_method(GSL_TYPE(cgsl_matrix), "isneg", FUNCTION(rb_gsl_matrix,isneg), 0);
2705
- rb_define_method(GSL_TYPE(cgsl_matrix), "isneg?", FUNCTION(rb_gsl_matrix,isneg2), 0);
2706
- #endif
2682
+ rb_define_method(GSL_TYPE(cgsl_matrix), "isneg?", FUNCTION(rb_gsl_matrix,isneg2), 0);
2707
2683
 
2708
- #ifdef GSL_1_10_LATER
2709
2684
  rb_define_method(GSL_TYPE(cgsl_matrix), "isnonneg", FUNCTION(rb_gsl_matrix,isnonneg), 0);
2710
2685
  rb_define_method(GSL_TYPE(cgsl_matrix), "isnonneg?", FUNCTION(rb_gsl_matrix,isnonneg2), 0);
2711
- #endif
2712
2686
 
2713
2687
  rb_define_method(GSL_TYPE(cgsl_matrix), "symmetrize", FUNCTION(rb_gsl_matrix,symmetrize), 0);
2714
2688
  rb_define_method(GSL_TYPE(cgsl_matrix), "symmetrize!", FUNCTION(rb_gsl_matrix,symmetrize_bang), 0);