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
@@ -14,26 +14,23 @@
14
14
  which are provided by the GSL source.
15
15
  */
16
16
 
17
- #include "rb_gsl_config.h"
18
- #include "rb_gsl_array.h"
19
- #include "rb_gsl_histogram.h"
20
- #include "rb_gsl_complex.h"
21
- #include "rb_gsl_poly.h"
22
- #ifdef HAVE_NARRAY_H
23
- #include "rb_gsl_with_narray.h"
24
- #endif
17
+ #include "include/rb_gsl_array.h"
18
+ #include "include/rb_gsl_histogram.h"
19
+ #include "include/rb_gsl_complex.h"
20
+ #include "include/rb_gsl_poly.h"
21
+ #include "include/rb_gsl_with_narray.h"
25
22
 
26
- int gsl_linalg_matmult_int(const gsl_matrix_int *A,
27
- const gsl_matrix_int *B, gsl_matrix_int *C);
23
+ int gsl_linalg_matmult_int(const gsl_matrix_int *A,
24
+ const gsl_matrix_int *B, gsl_matrix_int *C);
28
25
 
29
26
  #define BASE_DOUBLE
30
- #include "templates_on.h"
31
- #include "matrix_source.c"
32
- #include "templates_off.h"
27
+ #include "include/templates_on.h"
28
+ #include "matrix_source.h"
29
+ #include "include/templates_off.h"
33
30
  #undef BASE_DOUBLE
34
31
 
35
32
  #define BASE_INT
36
- #include "templates_on.h"
37
- #include "matrix_source.c"
38
- #include "templates_off.h"
33
+ #include "include/templates_on.h"
34
+ #include "matrix_source.h"
35
+ #include "include/templates_off.h"
39
36
  #undef BASE_INT
@@ -9,9 +9,8 @@
9
9
  WITHOUT ANY WARRANTY.
10
10
  */
11
11
 
12
- #include "rb_gsl_config.h"
13
- #include "rb_gsl_array.h"
14
- #include "rb_gsl_complex.h"
12
+ #include "include/rb_gsl_array.h"
13
+ #include "include/rb_gsl_complex.h"
15
14
 
16
15
  enum {
17
16
  GSL_MATRIX_COMPLEX_ADD,
@@ -28,7 +27,7 @@ void get_range_beg_en_n(VALUE range, double *beg, double *en, size_t *n, int *st
28
27
 
29
28
  // From ext/matrix_source.c
30
29
  void parse_submatrix_args(int argc, VALUE *argv, size_t size1, size_t size2,
31
- size_t *i, size_t *j, size_t *n1, size_t *n2);
30
+ size_t *i, size_t *j, size_t *n1, size_t *n2);
32
31
 
33
32
  static VALUE rb_gsl_matrix_complex_arithmetics(int flag, VALUE obj, VALUE bb)
34
33
  {
@@ -74,28 +73,28 @@ static VALUE rb_gsl_matrix_complex_arithmetics(int flag, VALUE obj, VALUE bb)
74
73
  Data_Get_Struct(bb, gsl_matrix_complex, cmb);
75
74
  switch (flag) {
76
75
  case GSL_MATRIX_COMPLEX_ADD:
77
- cmnew = make_matrix_complex_clone(cm);
78
- gsl_matrix_complex_add(cmnew, cmb);
79
- return Data_Wrap_Struct(cgsl_matrix_complex, 0, gsl_matrix_complex_free, cmnew);
80
- break;
76
+ cmnew = make_matrix_complex_clone(cm);
77
+ gsl_matrix_complex_add(cmnew, cmb);
78
+ return Data_Wrap_Struct(cgsl_matrix_complex, 0, gsl_matrix_complex_free, cmnew);
79
+ break;
81
80
  case GSL_MATRIX_COMPLEX_SUB:
82
- cmnew = make_matrix_complex_clone(cm);
83
- gsl_matrix_complex_sub(cmnew,cmb);
84
- return Data_Wrap_Struct(cgsl_matrix_complex, 0, gsl_matrix_complex_free, cmnew);
85
- break;
81
+ cmnew = make_matrix_complex_clone(cm);
82
+ gsl_matrix_complex_sub(cmnew,cmb);
83
+ return Data_Wrap_Struct(cgsl_matrix_complex, 0, gsl_matrix_complex_free, cmnew);
84
+ break;
86
85
  case GSL_MATRIX_COMPLEX_MUL:
87
- cmnew = make_matrix_complex_clone(cm);
88
- gsl_matrix_complex_mul_elements(cmnew, cmb);
89
- return Data_Wrap_Struct(cgsl_matrix_complex, 0, gsl_matrix_complex_free, cmnew);
90
- break;
86
+ cmnew = make_matrix_complex_clone(cm);
87
+ gsl_matrix_complex_mul_elements(cmnew, cmb);
88
+ return Data_Wrap_Struct(cgsl_matrix_complex, 0, gsl_matrix_complex_free, cmnew);
89
+ break;
91
90
  case GSL_MATRIX_COMPLEX_DIV:
92
- cmnew = make_matrix_complex_clone(cm);
93
- gsl_matrix_complex_div_elements(cmnew, cmb);
94
- return Data_Wrap_Struct(cgsl_matrix_complex, 0, gsl_matrix_complex_free, cmnew);
95
- break;
91
+ cmnew = make_matrix_complex_clone(cm);
92
+ gsl_matrix_complex_div_elements(cmnew, cmb);
93
+ return Data_Wrap_Struct(cgsl_matrix_complex, 0, gsl_matrix_complex_free, cmnew);
94
+ break;
96
95
  default:
97
- rb_raise(rb_eRuntimeError, "operation not defined");
98
- break;
96
+ rb_raise(rb_eRuntimeError, "operation not defined");
97
+ break;
99
98
  }
100
99
  } else if (rb_obj_is_kind_of(bb, cgsl_matrix)) {
101
100
  Data_Get_Struct(bb, gsl_matrix, m);
@@ -103,80 +102,80 @@ static VALUE rb_gsl_matrix_complex_arithmetics(int flag, VALUE obj, VALUE bb)
103
102
  cmnew = make_matrix_complex_clone(cm);
104
103
  switch (flag) {
105
104
  case GSL_MATRIX_COMPLEX_ADD:
106
- gsl_matrix_complex_add(cmnew, cmb);
107
- break;
105
+ gsl_matrix_complex_add(cmnew, cmb);
106
+ break;
108
107
  case GSL_MATRIX_COMPLEX_SUB:
109
- gsl_matrix_complex_sub(cmnew,cmb);
110
- break;
108
+ gsl_matrix_complex_sub(cmnew,cmb);
109
+ break;
111
110
  case GSL_MATRIX_COMPLEX_MUL:
112
- gsl_matrix_complex_mul_elements(cmnew, cmb);
113
- break;
111
+ gsl_matrix_complex_mul_elements(cmnew, cmb);
112
+ break;
114
113
  case GSL_MATRIX_COMPLEX_DIV:
115
- gsl_matrix_complex_div_elements(cmnew, cmb);
116
- break;
114
+ gsl_matrix_complex_div_elements(cmnew, cmb);
115
+ break;
117
116
  default:
118
- rb_raise(rb_eRuntimeError, "operation not defined");
119
- break;
117
+ rb_raise(rb_eRuntimeError, "operation not defined");
118
+ break;
120
119
  }
121
120
  return Data_Wrap_Struct(cgsl_matrix_complex, 0, gsl_matrix_complex_free, cmnew);
122
121
  } else if (rb_obj_is_kind_of(bb, cgsl_complex)) {
123
122
  Data_Get_Struct(bb, gsl_complex, c);
124
123
  switch (flag) {
125
124
  case GSL_MATRIX_COMPLEX_ADD:
126
- cmnew = make_matrix_complex_clone(cm);
127
- gsl_matrix_complex_add_constant(cmnew, *c);
128
- break;
125
+ cmnew = make_matrix_complex_clone(cm);
126
+ gsl_matrix_complex_add_constant(cmnew, *c);
127
+ break;
129
128
  case GSL_MATRIX_COMPLEX_SUB:
130
- cmnew = make_matrix_complex_clone(cm);
131
- gsl_matrix_complex_add_constant(cmnew, gsl_complex_negative(*c));
132
- break;
129
+ cmnew = make_matrix_complex_clone(cm);
130
+ gsl_matrix_complex_add_constant(cmnew, gsl_complex_negative(*c));
131
+ break;
133
132
  case GSL_MATRIX_COMPLEX_MUL:
134
- cmnew = make_matrix_complex_clone(cm);
135
- gsl_matrix_complex_scale(cmnew, *c);
136
- break;
133
+ cmnew = make_matrix_complex_clone(cm);
134
+ gsl_matrix_complex_scale(cmnew, *c);
135
+ break;
137
136
  case GSL_MATRIX_COMPLEX_DIV:
138
- cmnew = make_matrix_complex_clone(cm);
139
- gsl_matrix_complex_scale(cmnew, gsl_complex_inverse(*c));
140
- break;
137
+ cmnew = make_matrix_complex_clone(cm);
138
+ gsl_matrix_complex_scale(cmnew, gsl_complex_inverse(*c));
139
+ break;
141
140
  default:
142
- rb_raise(rb_eRuntimeError, "operation not defined");
143
- break;
141
+ rb_raise(rb_eRuntimeError, "operation not defined");
142
+ break;
144
143
  }
145
144
  return Data_Wrap_Struct(cgsl_matrix_complex, 0, gsl_matrix_complex_free, cmnew);
146
145
  } else if (rb_obj_is_kind_of(bb, cgsl_vector)) {
147
146
  Data_Get_Struct(bb, gsl_vector, v);
148
147
  switch (flag) {
149
148
  case GSL_MATRIX_COMPLEX_MUL:
150
- cvb = vector_to_complex(v);
151
- cvnew = gsl_vector_complex_alloc(v->size);
152
- if (cvnew == NULL) rb_raise(rb_eNoMemError, "gsl_vector_complex_alloc failed");
153
- gsl_matrix_complex_mul_vector(cvnew, cm, cvb);
154
- gsl_vector_complex_free(cvb);
155
- return Data_Wrap_Struct(cgsl_vector_complex, 0, gsl_vector_complex_free, cvnew);
156
- break;
149
+ cvb = vector_to_complex(v);
150
+ cvnew = gsl_vector_complex_alloc(v->size);
151
+ if (cvnew == NULL) rb_raise(rb_eNoMemError, "gsl_vector_complex_alloc failed");
152
+ gsl_matrix_complex_mul_vector(cvnew, cm, cvb);
153
+ gsl_vector_complex_free(cvb);
154
+ return Data_Wrap_Struct(cgsl_vector_complex, 0, gsl_vector_complex_free, cvnew);
155
+ break;
157
156
  default:
158
- rb_raise(rb_eRuntimeError,
159
- "operation is not defined %s and Matrix_Complex",
160
- rb_class2name(CLASS_OF(bb)));
161
- break;
157
+ rb_raise(rb_eRuntimeError,
158
+ "operation is not defined %s and Matrix_Complex",
159
+ rb_class2name(CLASS_OF(bb)));
160
+ break;
162
161
  }
163
162
  } else if (rb_obj_is_kind_of(bb, cgsl_vector_complex)) {
164
163
  if (!VECTOR_COMPLEX_COL_P(bb))
165
- rb_raise(rb_eTypeError,
166
- "Operation is not defined with %s (Vector::Complex::Col expected)",
167
- rb_class2name(CLASS_OF(bb)));
164
+ rb_raise(rb_eTypeError,
165
+ "Operation is not defined with %s (Vector::Complex::Col expected)",
166
+ rb_class2name(CLASS_OF(bb)));
168
167
  Data_Get_Struct(bb, gsl_vector_complex, cv);
169
168
  switch (flag) {
170
169
  case GSL_MATRIX_COMPLEX_MUL:
171
- cvnew = gsl_vector_complex_alloc(cv->size);
172
- if (cvnew == NULL) rb_raise(rb_eNoMemError, "gsl_vector_complex_alloc failed");
173
- gsl_matrix_complex_mul_vector(cvnew, cm, cv);
174
- return Data_Wrap_Struct(cgsl_vector_complex_col, 0, gsl_vector_complex_free, cvnew);;
170
+ cvnew = gsl_vector_complex_alloc(cv->size);
171
+ if (cvnew == NULL) rb_raise(rb_eNoMemError, "gsl_vector_complex_alloc failed");
172
+ gsl_matrix_complex_mul_vector(cvnew, cm, cv);
173
+ return Data_Wrap_Struct(cgsl_vector_complex_col, 0, gsl_vector_complex_free, cvnew);
175
174
  default:
176
- rb_raise(rb_eRuntimeError,
177
- "operation is not defined %s and Matrix_Complex",
178
- rb_class2name(CLASS_OF(bb)));
179
- break;
175
+ rb_raise(rb_eRuntimeError,
176
+ "operation is not defined %s and Matrix_Complex",
177
+ rb_class2name(CLASS_OF(bb)));
178
+ break;
180
179
  }
181
180
  } else {
182
181
  rb_raise(rb_eTypeError, "wrong argument type %s", rb_class2name(CLASS_OF(bb)));
@@ -219,15 +218,15 @@ static VALUE rb_gsl_matrix_complex_eye(int argc, VALUE *argv, VALUE klass)
219
218
  // if (RARRAY(argv[1])->len < 2) rb_raise(rb_eArgError, "wrong argument");
220
219
  if (RARRAY_LEN(argv[1]) < 2) rb_raise(rb_eArgError, "wrong argument");
221
220
  z = gsl_complex_rect(NUM2DBL(rb_ary_entry(argv[1], 0)),
222
- NUM2DBL(rb_ary_entry(argv[1], 1)));
221
+ NUM2DBL(rb_ary_entry(argv[1], 1)));
223
222
  break;
224
223
  default:
225
224
  if (rb_obj_is_kind_of(argv[1], cgsl_complex)) {
226
- Data_Get_Struct(argv[1], gsl_complex, pz);
225
+ Data_Get_Struct(argv[1], gsl_complex, pz);
227
226
  z = *pz;
228
227
  } else {
229
- rb_raise(rb_eTypeError,
230
- "wrong argument type %s", rb_class2name(CLASS_OF(argv[1])));
228
+ rb_raise(rb_eTypeError,
229
+ "wrong argument type %s", rb_class2name(CLASS_OF(argv[1])));
231
230
  }
232
231
  break;
233
232
  }
@@ -245,7 +244,7 @@ static VALUE rb_gsl_matrix_complex_eye(int argc, VALUE *argv, VALUE klass)
245
244
  m = gsl_matrix_complex_calloc(n, n);
246
245
  if (m == NULL) rb_raise(rb_eNoMemError, "gsl_matrix_complex_alloc failed");
247
246
  for (i = 0; i < n; i++) gsl_matrix_complex_set(m, i, i, z);
248
- return Data_Wrap_Struct(klass, 0, gsl_matrix_complex_free, m);
247
+ return Data_Wrap_Struct(klass, 0, gsl_matrix_complex_free, m);
249
248
  }
250
249
 
251
250
  static VALUE rb_gsl_matrix_complex_identity(VALUE klass, VALUE nn)
@@ -259,7 +258,7 @@ static VALUE rb_gsl_matrix_complex_identity(VALUE klass, VALUE nn)
259
258
  if (m == NULL) rb_raise(rb_eNoMemError, "gsl_matrix_complex_calloc failed");
260
259
  z = gsl_complex_rect(1.0, 0.0);
261
260
  for (i = 0; i < n; i++) gsl_matrix_complex_set(m, i, i, z);
262
- return Data_Wrap_Struct(klass, 0, gsl_matrix_complex_free, m);
261
+ return Data_Wrap_Struct(klass, 0, gsl_matrix_complex_free, m);
263
262
  }
264
263
 
265
264
  static VALUE rb_gsl_matrix_complex_set_zero(VALUE obj)
@@ -301,8 +300,8 @@ static VALUE rb_gsl_matrix_complex_set_all(VALUE obj, VALUE s)
301
300
  Data_Get_Struct(s, gsl_complex, z);
302
301
  gsl_matrix_complex_set_all(m, *z);
303
302
  } else {
304
- rb_raise(rb_eTypeError,
305
- "wrong argument type %s", rb_class2name(CLASS_OF(s)));
303
+ rb_raise(rb_eTypeError,
304
+ "wrong argument type %s", rb_class2name(CLASS_OF(s)));
306
305
  }
307
306
  break;
308
307
  }
@@ -324,7 +323,6 @@ static VALUE rb_gsl_matrix_complex_set(int argc, VALUE *argv, VALUE obj)
324
323
  if(argc < 1 || argc > 5) {
325
324
  rb_raise(rb_eArgError, "wrong number of arguments (%d for 1-5)", argc);
326
325
  }
327
-
328
326
  Data_Get_Struct(obj, gsl_matrix_complex, m);
329
327
  other = argv[argc-1];
330
328
 
@@ -343,7 +341,7 @@ static VALUE rb_gsl_matrix_complex_set(int argc, VALUE *argv, VALUE obj)
343
341
  row_set_argv[0] = INT2FIX(0);
344
342
  row_set_argv[1] = INT2FIX(m->size2);
345
343
 
346
- for(k = 0; k < argc && k < m->size1; k++) {
344
+ for(k = 0; (int) k < argc && k < m->size1; k++) {
347
345
  vv = gsl_matrix_complex_row(m, k);
348
346
  rb_gsl_vector_complex_set_subvector(2, row_set_argv, &vv.vector, argv[k]);
349
347
  }
@@ -358,7 +356,7 @@ static VALUE rb_gsl_matrix_complex_set(int argc, VALUE *argv, VALUE obj)
358
356
  Data_Get_Struct(other, gsl_matrix_complex, mother);
359
357
  if(n1 * n2 != mother->size1 * mother->size2) {
360
358
  rb_raise(rb_eRangeError, "sizes do not match (%d x %d != %d x %d)",
361
- (int) n1, (int) n2, (int) mother->size1, (int) mother->size2);
359
+ (int) n1, (int) n2, (int) mother->size1, (int) mother->size2);
362
360
  }
363
361
  // TODO Change to gsl_matrix_memmove if/when GSL has such a function
364
362
  // because gsl_matrix_memcpy does not handle overlapping regions (e.g.
@@ -374,9 +372,9 @@ static VALUE rb_gsl_matrix_complex_set(int argc, VALUE *argv, VALUE obj)
374
372
  rb_gsl_vector_complex_set_subvector(2, row_set_argv, &vv.vector, other);
375
373
  } else {
376
374
  // m[...] = [[row0], [row1], ...] # multiple rows
377
- if(n1 != RARRAY_LEN(other)) {
375
+ if((int) n1 != RARRAY_LEN(other)) {
378
376
  rb_raise(rb_eRangeError, "row counts do not match (%d != %d)",
379
- (int) n1, (int) RARRAY_LEN(other));
377
+ (int) n1, (int) RARRAY_LEN(other));
380
378
  }
381
379
  for(k = 0; k < n1; k++) {
382
380
  vv = gsl_matrix_complex_row(&mv.matrix, k);
@@ -400,7 +398,6 @@ static VALUE rb_gsl_matrix_complex_set(int argc, VALUE *argv, VALUE obj)
400
398
  gsl_matrix_complex_set_all(&mv.matrix, rb_gsl_obj_to_gsl_complex(other, NULL));
401
399
  }
402
400
  }
403
-
404
401
  return obj;
405
402
  }
406
403
 
@@ -410,11 +407,11 @@ static VALUE rb_gsl_matrix_complex_set_row(int argc, VALUE *argv, VALUE obj)
410
407
  size_t i, k;
411
408
  gsl_complex z, *pz = &z;
412
409
  if (argc < 2) rb_raise(rb_eArgError, "wrong number of arguments (%d for >= 2)",
413
- argc);
410
+ argc);
414
411
  CHECK_FIXNUM(argv[0]);
415
412
  Data_Get_Struct(obj, gsl_matrix_complex, A);
416
413
  i = FIX2INT(argv[0]);
417
- for (k = 1; k < argc; k++) {
414
+ for (k = 1; (int) k < argc; k++) {
418
415
  if (k-1 >= A->size1) break;
419
416
  switch (TYPE(argv[k])) {
420
417
  case T_ARRAY:
@@ -437,12 +434,12 @@ static VALUE rb_gsl_matrix_complex_set_col(int argc, VALUE *argv, VALUE obj)
437
434
  int j, k;
438
435
  gsl_complex z, *pz = &z;
439
436
  if (argc < 2) rb_raise(rb_eArgError, "wrong number of arguments (%d for >= 2)",
440
- argc);
437
+ argc);
441
438
  CHECK_FIXNUM(argv[0]);
442
439
  Data_Get_Struct(obj, gsl_matrix_complex, A);
443
440
  j = FIX2INT(argv[0]);
444
441
  for (k = 1; k < argc; k++) {
445
- if (k-1 >= A->size2) break;
442
+ if (k-1 >= (int) A->size2) break;
446
443
  switch (TYPE(argv[k])) {
447
444
  case T_ARRAY:
448
445
  z = ary2complex(argv[k]);
@@ -474,7 +471,7 @@ static VALUE rb_gsl_matrix_complex_get(int argc, VALUE *argv, VALUE obj)
474
471
  if(ii < 0) ii += m->size1;
475
472
  if(ij < 0) ij += m->size2;
476
473
  c = ALLOC(gsl_complex);
477
- *c = gsl_matrix_complex_get(m, (size_t)ii, (size_t)ij);
474
+ *c = gsl_matrix_complex_get(m, (size_t)ii, (size_t)ij);
478
475
  retval = Data_Wrap_Struct(cgsl_complex, 0, free, c);
479
476
  } else if(argc == 1 && TYPE(argv[0]) == T_FIXNUM) {
480
477
  // m[i]
@@ -493,7 +490,7 @@ static VALUE rb_gsl_matrix_complex_get(int argc, VALUE *argv, VALUE obj)
493
490
  if(ii < 0) ii += m->size1;
494
491
  if(ij < 0) ij += m->size2;
495
492
  c = ALLOC(gsl_complex);
496
- *c = gsl_matrix_complex_get(m, (size_t)ii, (size_t)ij);
493
+ *c = gsl_matrix_complex_get(m, (size_t)ii, (size_t)ij);
497
494
  retval = Data_Wrap_Struct(cgsl_complex, 0, free, c);
498
495
  } else {
499
496
  rb_raise(rb_eArgError, "Array index must have length 2, not %d", (int) RARRAY_LEN(argv[0]));
@@ -501,7 +498,6 @@ static VALUE rb_gsl_matrix_complex_get(int argc, VALUE *argv, VALUE obj)
501
498
  } else {
502
499
  retval = rb_gsl_matrix_complex_submatrix(argc, argv, obj);
503
500
  }
504
-
505
501
  return retval;
506
502
  }
507
503
 
@@ -547,12 +543,12 @@ static VALUE rb_gsl_matrix_complex_to_a(VALUE obj)
547
543
  size_t i, j;
548
544
  Data_Get_Struct(obj, gsl_matrix_complex, m);
549
545
  ma = rb_ary_new2(m->size1);
550
- for(i=0; i < m->size1; i++) {
546
+ for(i = 0; i < m->size1; i++) {
551
547
  ra = rb_ary_new2(m->size2);
552
548
  rb_ary_store(ma, i, ra);
553
- for(j=0; j < m->size2; j++) {
549
+ for(j = 0; j < m->size2; j++) {
554
550
  c = ALLOC(gsl_complex);
555
- *c = gsl_matrix_complex_get(m, i, j);
551
+ *c = gsl_matrix_complex_get(m, i, j);
556
552
  rb_ary_store(ra, j, Data_Wrap_Struct(cgsl_complex, 0, free, c));
557
553
  }
558
554
  }
@@ -611,11 +607,11 @@ static VALUE rb_gsl_matrix_complex_to_s(int argc, VALUE *argv, VALUE obj)
611
607
  int max_rows = 4;
612
608
  int max_cols = 4;
613
609
 
614
- switch(argc){
615
- case 2: max_cols = NUM2INT(argv[1]);
616
- case 1: max_rows = NUM2INT(argv[0]);
617
- case 0: break;
618
- default:
610
+ switch(argc) {
611
+ case 2: max_cols = NUM2INT(argv[1]);
612
+ case 1: max_rows = NUM2INT(argv[0]);
613
+ case 0: break;
614
+ default:
619
615
  rb_raise(rb_eArgError, "wrong number of arguments (%d for 0, 1, or 2)", argc);
620
616
  }
621
617
 
@@ -629,16 +625,16 @@ static VALUE rb_gsl_matrix_complex_to_s(int argc, VALUE *argv, VALUE obj)
629
625
  for (j = 0; j < m->size2; j++) {
630
626
  z = gsl_matrix_complex_get(m, i, j);
631
627
  sprintf(buf,
632
- "%s[ %4.3e %4.3e ]", (j==0) ? "" : " ", GSL_REAL(z), GSL_IMAG(z));
628
+ "%s[ %4.3e %4.3e ]", (j==0) ? "" : " ", GSL_REAL(z), GSL_IMAG(z));
633
629
  rb_str_cat(str, buf, strlen(buf));
634
630
  // if too many cols
635
- if (j >= max_cols-1 && j != m->size2-1) {
631
+ if ((int) j >= max_cols-1 && j != m->size2-1) {
636
632
  rb_str_cat(str, " ...", 4);
637
633
  break;
638
634
  }
639
635
  }
640
636
  // if too many rows
641
- if (i >= max_rows-1 && i != m->size1-1) {
637
+ if ((int) i >= max_rows-1 && i != m->size1-1) {
642
638
  rb_str_cat(str, "\n ...", 6);
643
639
  break;
644
640
  }
@@ -927,8 +923,8 @@ static VALUE rb_gsl_matrix_complex_add_diagonal(VALUE obj, VALUE s)
927
923
  Data_Get_Struct(s, gsl_complex, z);
928
924
  gsl_matrix_complex_add_diagonal(m, *z);
929
925
  } else {
930
- rb_raise(rb_eTypeError,
931
- "wrong argument type %s", rb_class2name(CLASS_OF(s)));
926
+ rb_raise(rb_eTypeError,
927
+ "wrong argument type %s", rb_class2name(CLASS_OF(s)));
932
928
  }
933
929
  break;
934
930
  }
@@ -1002,7 +998,7 @@ static VALUE rb_gsl_matrix_complex_set_diagonal(VALUE obj, VALUE diag)
1002
998
  for (i = 0; i < m->size1; i++) gsl_matrix_complex_set(m, i, i, gsl_vector_complex_get(v, i));
1003
999
  } else {
1004
1000
  rb_raise(rb_eTypeError, "wrong argument type %s (GSL::Vector_Complex or Array expected)",
1005
- rb_class2name(CLASS_OF(diag)));
1001
+ rb_class2name(CLASS_OF(diag)));
1006
1002
  }
1007
1003
  return obj;
1008
1004
  }
@@ -1056,7 +1052,7 @@ static VALUE rb_gsl_matrix_complex_coerce(VALUE obj, VALUE other)
1056
1052
  return rb_ary_new3(2, vcm, obj);
1057
1053
  } else {
1058
1054
  rb_raise(rb_eTypeError, "cannot coerce %s to GSL::Matrix::Complex",
1059
- rb_class2name(CLASS_OF(other)));
1055
+ rb_class2name(CLASS_OF(other)));
1060
1056
  }
1061
1057
  break;
1062
1058
  }
@@ -1274,8 +1270,8 @@ static VALUE rb_gsl_matrix_complex_logabs(VALUE obj)
1274
1270
  return rb_gsl_matrix_complex_XXX(obj, gsl_complex_logabs);
1275
1271
  }
1276
1272
 
1277
- static VALUE rb_gsl_matrix_complex_XXX_complex(VALUE obj,
1278
- gsl_complex (*f)(gsl_complex))
1273
+ static VALUE rb_gsl_matrix_complex_XXX_complex(VALUE obj,
1274
+ gsl_complex (*f)(gsl_complex))
1279
1275
  {
1280
1276
  gsl_matrix_complex *m, *mnew;
1281
1277
  size_t i, j;
@@ -1526,14 +1522,14 @@ static VALUE rb_gsl_matrix_complex_indgen_singleton(int argc, VALUE *argv, VALUE
1526
1522
  // function, but it only determines absolute equality (i.e. is has no epsilon
1527
1523
  // argument).
1528
1524
  static int gsl_matrix_complex_equal_eps(const gsl_matrix_complex *m1,
1529
- const gsl_matrix_complex *m2, double eps)
1525
+ const gsl_matrix_complex *m2, double eps)
1530
1526
  {
1531
1527
  gsl_complex z1, z2;
1532
1528
  size_t i, j;
1533
1529
  if (m1->size1 != m2->size1) return 0;
1534
- if (m1->size2 != m2->size2) return 0;
1530
+ if (m1->size2 != m2->size2) return 0;
1535
1531
  for (i = 0; i < m1->size1; i++) {
1536
- for (j = 0; j < m1->size2; j++) {
1532
+ for (j = 0; j < m1->size2; j++) {
1537
1533
  z1 = gsl_matrix_complex_get(m1, i, j);
1538
1534
  z2 = gsl_matrix_complex_get(m2, i, j);
1539
1535
  if (!rbgsl_complex_equal(&z1, &z2, eps)) return 0;
@@ -1603,7 +1599,7 @@ void Init_gsl_matrix_complex(VALUE module)
1603
1599
  rb_define_method(cgsl_matrix_complex, "fwrite", rb_gsl_matrix_complex_fwrite, 1);
1604
1600
  rb_define_method(cgsl_matrix_complex, "fread", rb_gsl_matrix_complex_fread, 1);
1605
1601
  rb_define_method(cgsl_matrix_complex, "fscanf", rb_gsl_matrix_complex_fscanf, 1);
1606
-
1602
+
1607
1603
  rb_define_singleton_method(cgsl_matrix_complex, "memcpy", rb_gsl_matrix_complex_memcpy, 2);
1608
1604
  rb_define_method(cgsl_matrix_complex, "clone", rb_gsl_matrix_complex_clone, 0);
1609
1605
  rb_define_alias(cgsl_matrix_complex, "duplicate", "clone");
@@ -1611,10 +1607,10 @@ void Init_gsl_matrix_complex(VALUE module)
1611
1607
  rb_define_method(cgsl_matrix_complex, "swap_rows", rb_gsl_matrix_complex_swap_rows, 2);
1612
1608
  rb_define_method(cgsl_matrix_complex, "swap_columns", rb_gsl_matrix_complex_swap_columns, 2);
1613
1609
  rb_define_method(cgsl_matrix_complex, "swap_rowcol", rb_gsl_matrix_complex_swap_rowcol, 2);
1614
-
1610
+
1615
1611
  rb_define_method(cgsl_matrix_complex, "transpose", rb_gsl_matrix_complex_transpose, 0);
1616
1612
  rb_define_method(cgsl_matrix_complex, "isnull", rb_gsl_matrix_complex_isnull, 0);
1617
-
1613
+
1618
1614
  rb_define_method(cgsl_matrix_complex, "add", rb_gsl_matrix_complex_add, 1);
1619
1615
  rb_define_alias(cgsl_matrix_complex, "add_constant", "add");
1620
1616
  rb_define_alias(cgsl_matrix_complex, "+", "add");
@@ -1625,13 +1621,13 @@ void Init_gsl_matrix_complex(VALUE module)
1625
1621
  rb_define_alias(cgsl_matrix_complex, "/", "div_elements");
1626
1622
  rb_define_method(cgsl_matrix_complex, "scale", rb_gsl_matrix_complex_scale, 1);
1627
1623
  rb_define_method(cgsl_matrix_complex, "scale!", rb_gsl_matrix_complex_scale_bang, 1);
1628
-
1624
+
1629
1625
  rb_define_method(cgsl_matrix_complex, "add_diagonal", rb_gsl_matrix_complex_add_diagonal, 1);
1630
-
1626
+
1631
1627
  rb_define_method(cgsl_matrix_complex, "set_zero", rb_gsl_matrix_complex_set_zero, 0);
1632
1628
  rb_define_method(cgsl_matrix_complex, "set_identity", rb_gsl_matrix_complex_set_identity, 0);
1633
1629
  rb_define_method(cgsl_matrix_complex, "set_all", rb_gsl_matrix_complex_set_all, 1);
1634
-
1630
+
1635
1631
  rb_define_method(cgsl_matrix_complex, "submatrix", rb_gsl_matrix_complex_submatrix, -1);
1636
1632
  rb_define_alias(cgsl_matrix_complex, "view", "submatrix");
1637
1633
  rb_define_method(cgsl_matrix_complex, "row", rb_gsl_matrix_complex_row, 1);
@@ -1643,13 +1639,13 @@ void Init_gsl_matrix_complex(VALUE module)
1643
1639
  rb_define_method(cgsl_matrix_complex, "set_diagonal", rb_gsl_matrix_complex_set_diagonal, 1);
1644
1640
  rb_define_method(cgsl_matrix_complex, "subdiagonal", rb_gsl_matrix_complex_subdiagonal, 1);
1645
1641
  rb_define_method(cgsl_matrix_complex, "superdiagonal", rb_gsl_matrix_complex_superdiagonal, 1);
1646
-
1642
+
1647
1643
  rb_define_method(cgsl_matrix_complex, "coerce", rb_gsl_matrix_complex_coerce, 1);
1648
-
1644
+
1649
1645
  rb_define_method(cgsl_matrix_complex, "mul", rb_gsl_matrix_complex_mul, 1);
1650
1646
  rb_define_alias(cgsl_matrix_complex, "*", "mul");
1651
1647
  rb_define_method(cgsl_matrix_complex, "mul!", rb_gsl_matrix_complex_mul2, 1);
1652
-
1648
+
1653
1649
  rb_define_method(cgsl_matrix_complex, "real", rb_gsl_matrix_complex_real, 0);
1654
1650
  rb_define_alias(cgsl_matrix_complex, "to_real", "real");
1655
1651
  rb_define_alias(cgsl_matrix_complex, "re", "real");
@@ -1663,7 +1659,7 @@ void Init_gsl_matrix_complex(VALUE module)
1663
1659
  rb_define_alias(cgsl_matrix_complex, "conj", "conjugate");
1664
1660
  rb_define_method(cgsl_matrix_complex, "dagger!", rb_gsl_matrix_complex_dagger, 0);
1665
1661
  rb_define_method(cgsl_matrix_complex, "dagger", rb_gsl_matrix_complex_dagger2, 0);
1666
-
1662
+
1667
1663
  rb_define_method(cgsl_matrix_complex, "trace", rb_gsl_matrix_complex_trace, 0);
1668
1664
  rb_define_method(cgsl_matrix_complex, "each_row", rb_gsl_matrix_complex_each_row, 0);
1669
1665
  rb_define_method(cgsl_matrix_complex, "each_col", rb_gsl_matrix_complex_each_col, 0);
@@ -1672,14 +1668,14 @@ void Init_gsl_matrix_complex(VALUE module)
1672
1668
  rb_define_method(cgsl_matrix_complex, "collect!", rb_gsl_matrix_complex_collect_bang, 0);
1673
1669
  rb_define_alias(cgsl_matrix_complex, "map", "collect");
1674
1670
  rb_define_alias(cgsl_matrix_complex, "map!", "collect!");
1675
-
1671
+
1676
1672
  rb_define_method(cgsl_matrix_complex, "to_a", rb_gsl_matrix_complex_to_a, 0);
1677
1673
 
1678
1674
  rb_define_method(cgsl_matrix_complex, "size1", rb_gsl_matrix_complex_size1, 0);
1679
1675
  rb_define_method(cgsl_matrix_complex, "size2", rb_gsl_matrix_complex_size2, 0);
1680
1676
  rb_define_method(cgsl_matrix_complex, "shape", rb_gsl_matrix_complex_shape, 0);
1681
1677
  rb_define_alias(cgsl_matrix_complex, "size", "shape");
1682
-
1678
+
1683
1679
  /*****/
1684
1680
  rb_define_method(cgsl_matrix_complex, "-@", rb_gsl_matrix_complex_uminus, 0);
1685
1681
  rb_define_method(cgsl_matrix_complex, "+@", rb_gsl_matrix_complex_uplus, 0);
@@ -1729,9 +1725,9 @@ void Init_gsl_matrix_complex(VALUE module)
1729
1725
  rb_define_method(cgsl_matrix_complex, "indgen", rb_gsl_matrix_complex_indgen, -1);
1730
1726
  rb_define_method(cgsl_matrix_complex, "indgen!", rb_gsl_matrix_complex_indgen_bang, -1);
1731
1727
  rb_define_singleton_method(cgsl_matrix_complex, "indgen", rb_gsl_matrix_complex_indgen_singleton, -1);
1732
-
1728
+
1733
1729
  rb_define_method(cgsl_matrix_complex, "equal?", rb_gsl_matrix_complex_equal, -1);
1734
1730
  rb_define_alias(cgsl_matrix_complex, "==", "equal?");
1735
1731
  rb_define_method(cgsl_matrix_complex, "not_equal?", rb_gsl_matrix_complex_not_equal, -1);
1736
- rb_define_alias(cgsl_matrix_complex, "!=", "not_equal?");
1732
+ rb_define_alias(cgsl_matrix_complex, "!=", "not_equal?");
1737
1733
  }