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
@@ -2,18 +2,16 @@
2
2
  matrix_double.c
3
3
  Ruby/GSL: Ruby extension library for GSL (GNU Scientific Library)
4
4
  (C) Copyright 2001-2006 by Yoshiki Tsunesada
5
-
5
+
6
6
  Ruby/GSL is free software: you can redistribute it and/or modify it
7
7
  under the terms of the GNU General Public License.
8
8
  This library is distributed in the hope that it will be useful, but
9
9
  WITHOUT ANY WARRANTY.
10
10
  */
11
- #include "rb_gsl_config.h"
12
- #include "rb_gsl_array.h"
13
- #include "rb_gsl_complex.h"
14
- #ifdef HAVE_NARRAY_H
15
- #include "rb_gsl_with_narray.h"
16
- #endif
11
+
12
+ #include "include/rb_gsl_array.h"
13
+ #include "include/rb_gsl_complex.h"
14
+ #include "include/rb_gsl_with_narray.h"
17
15
 
18
16
  enum {
19
17
  GSL_MATRIX_ADD,
@@ -62,29 +60,28 @@ static VALUE rb_gsl_matrix_arithmetics(int flag, VALUE obj, VALUE bb)
62
60
  default:
63
61
  if (MATRIX_INT_P(bb)) bb = rb_gsl_matrix_int_to_f(bb);
64
62
  if (VECTOR_INT_P(bb)) bb = rb_gsl_vector_int_to_f(bb);
65
-
66
63
  if (rb_obj_is_kind_of(bb, cgsl_matrix)) {
67
64
  Data_Get_Struct(bb, gsl_matrix, mb);
68
65
  switch (flag) {
69
66
  case GSL_MATRIX_ADD:
70
- mnew = make_matrix_clone(m);
71
- gsl_matrix_add(mnew, mb);
72
- break;
67
+ mnew = make_matrix_clone(m);
68
+ gsl_matrix_add(mnew, mb);
69
+ break;
73
70
  case GSL_MATRIX_SUB:
74
- mnew = make_matrix_clone(m);
75
- gsl_matrix_sub(mnew,mb);
76
- break;
71
+ mnew = make_matrix_clone(m);
72
+ gsl_matrix_sub(mnew,mb);
73
+ break;
77
74
  case GSL_MATRIX_MUL:
78
- mnew = make_matrix_clone(m);
79
- gsl_matrix_mul_elements(mnew, mb);
80
- break;
75
+ mnew = make_matrix_clone(m);
76
+ gsl_matrix_mul_elements(mnew, mb);
77
+ break;
81
78
  case GSL_MATRIX_DIV:
82
- mnew = make_matrix_clone(m);
83
- gsl_matrix_div_elements(mnew, mb);
84
- break;
79
+ mnew = make_matrix_clone(m);
80
+ gsl_matrix_div_elements(mnew, mb);
81
+ break;
85
82
  default:
86
- rb_raise(rb_eRuntimeError, "operation not defined");
87
- break;
83
+ rb_raise(rb_eRuntimeError, "operation not defined");
84
+ break;
88
85
  }
89
86
  return Data_Wrap_Struct(cgsl_matrix, 0, gsl_matrix_free, mnew);
90
87
  } else if (rb_obj_is_kind_of(bb, cgsl_matrix_complex)) {
@@ -92,20 +89,20 @@ static VALUE rb_gsl_matrix_arithmetics(int flag, VALUE obj, VALUE bb)
92
89
  cmnew = matrix_to_complex(m);
93
90
  switch (flag) {
94
91
  case GSL_MATRIX_ADD:
95
- gsl_matrix_complex_add(cmnew, cmb);
96
- break;
92
+ gsl_matrix_complex_add(cmnew, cmb);
93
+ break;
97
94
  case GSL_MATRIX_SUB:
98
- gsl_matrix_complex_sub(cmnew,cmb);
99
- break;
95
+ gsl_matrix_complex_sub(cmnew,cmb);
96
+ break;
100
97
  case GSL_MATRIX_MUL:
101
- gsl_matrix_complex_mul_elements(cmnew, cmb);
102
- break;
98
+ gsl_matrix_complex_mul_elements(cmnew, cmb);
99
+ break;
103
100
  case GSL_MATRIX_DIV:
104
- gsl_matrix_complex_div_elements(cmnew, cmb);
105
- break;
101
+ gsl_matrix_complex_div_elements(cmnew, cmb);
102
+ break;
106
103
  default:
107
- rb_raise(rb_eRuntimeError, "operation not defined");
108
- break;
104
+ rb_raise(rb_eRuntimeError, "operation not defined");
105
+ break;
109
106
  }
110
107
  return Data_Wrap_Struct(cgsl_matrix_complex, 0, gsl_matrix_complex_free, cmnew);
111
108
  } else if (rb_obj_is_kind_of(bb, cgsl_complex)) {
@@ -113,60 +110,60 @@ static VALUE rb_gsl_matrix_arithmetics(int flag, VALUE obj, VALUE bb)
113
110
  cmnew = matrix_to_complex(m);
114
111
  switch (flag) {
115
112
  case GSL_MATRIX_ADD:
116
- gsl_matrix_complex_add_constant(cmnew, *c);
117
- break;
113
+ gsl_matrix_complex_add_constant(cmnew, *c);
114
+ break;
118
115
  case GSL_MATRIX_SUB:
119
- gsl_matrix_complex_add_constant(cmnew, gsl_complex_negative(*c));
120
- break;
116
+ gsl_matrix_complex_add_constant(cmnew, gsl_complex_negative(*c));
117
+ break;
121
118
  case GSL_MATRIX_MUL:
122
- gsl_matrix_complex_scale(cmnew, *c);
123
- break;
119
+ gsl_matrix_complex_scale(cmnew, *c);
120
+ break;
124
121
  case GSL_MATRIX_DIV:
125
- gsl_matrix_complex_scale(cmnew, gsl_complex_inverse(*c));
126
- break;
122
+ gsl_matrix_complex_scale(cmnew, gsl_complex_inverse(*c));
123
+ break;
127
124
  default:
128
- rb_raise(rb_eRuntimeError, "operation not defined");
129
- break;
125
+ rb_raise(rb_eRuntimeError, "operation not defined");
126
+ break;
130
127
  }
131
128
  return Data_Wrap_Struct(cgsl_matrix_complex, 0, gsl_matrix_complex_free, cmnew);
132
129
  } else if (rb_obj_is_kind_of(bb, cgsl_vector)) {
133
130
  if (!VECTOR_COL_P(bb))
134
- rb_raise(rb_eTypeError,
135
- "Operation with %s is not defined (GSL::Vector::Col expected)",
136
- rb_class2name(CLASS_OF(bb)));
131
+ rb_raise(rb_eTypeError,
132
+ "Operation with %s is not defined (GSL::Vector::Col expected)",
133
+ rb_class2name(CLASS_OF(bb)));
137
134
  Data_Get_Struct(bb, gsl_vector, v);
138
135
  switch (flag) {
139
136
  case GSL_MATRIX_MUL:
140
- // vnew = gsl_vector_alloc(v->size);
141
- vnew = gsl_vector_alloc(m->size1);
142
- if (vnew == NULL) rb_raise(rb_eNoMemError, "gsl_vector_alloc failed");
143
- gsl_matrix_mul_vector(vnew, m, v);
144
- return Data_Wrap_Struct(cgsl_vector_col, 0, gsl_vector_free, vnew);
145
- break;
137
+ // vnew = gsl_vector_alloc(v->size);
138
+ vnew = gsl_vector_alloc(m->size1);
139
+ if (vnew == NULL) rb_raise(rb_eNoMemError, "gsl_vector_alloc failed");
140
+ gsl_matrix_mul_vector(vnew, m, v);
141
+ return Data_Wrap_Struct(cgsl_vector_col, 0, gsl_vector_free, vnew);
142
+ break;
146
143
  case GSL_MATRIX_DIV:
147
- return rb_gsl_linalg_LU_solve(1, &bb, obj);
148
- break;
144
+ return rb_gsl_linalg_LU_solve(1, &bb, obj);
145
+ break;
149
146
  default:
150
- rb_raise(rb_eRuntimeError, "operation is not defined %s and Matrix",
151
- rb_class2name(CLASS_OF(bb)));
152
- break;
147
+ rb_raise(rb_eRuntimeError, "operation is not defined %s and Matrix",
148
+ rb_class2name(CLASS_OF(bb)));
149
+ break;
153
150
  }
154
151
  } else if (rb_obj_is_kind_of(bb, cgsl_vector_complex)) {
155
152
  Data_Get_Struct(bb, gsl_vector_complex, cv);
156
153
  switch (flag) {
157
154
  case GSL_MATRIX_MUL:
158
- cm = matrix_to_complex(m);
159
- // cvnew = gsl_vector_complex_alloc(cv->size);
160
- cvnew = gsl_vector_complex_alloc(m->size1);
161
- if (cvnew == NULL) rb_raise(rb_eNoMemError, "gsl_vector_complex_alloc failed");
162
- gsl_matrix_complex_mul_vector(cvnew, cm, cv);
163
- gsl_matrix_complex_free(cm);
164
- return Data_Wrap_Struct(cgsl_vector_complex, 0, gsl_vector_complex_free, cvnew);
165
- break;
155
+ cm = matrix_to_complex(m);
156
+ // cvnew = gsl_vector_complex_alloc(cv->size);
157
+ cvnew = gsl_vector_complex_alloc(m->size1);
158
+ if (cvnew == NULL) rb_raise(rb_eNoMemError, "gsl_vector_complex_alloc failed");
159
+ gsl_matrix_complex_mul_vector(cvnew, cm, cv);
160
+ gsl_matrix_complex_free(cm);
161
+ return Data_Wrap_Struct(cgsl_vector_complex, 0, gsl_vector_complex_free, cvnew);
162
+ break;
166
163
  default:
167
- rb_raise(rb_eRuntimeError, "operation is not defined %s and Matrix",
168
- rb_class2name(CLASS_OF(bb)));
169
- break;
164
+ rb_raise(rb_eRuntimeError, "operation is not defined %s and Matrix",
165
+ rb_class2name(CLASS_OF(bb)));
166
+ break;
170
167
  }
171
168
  } else {
172
169
  rb_raise(rb_eTypeError, "wrong argument type %s", rb_class2name(CLASS_OF(bb)));
@@ -236,8 +233,8 @@ static VALUE rb_gsl_matrix_mul(VALUE obj, VALUE bb)
236
233
  return rb_gsl_matrix_mul_elements(obj, bb);
237
234
  break;
238
235
  default:
239
- rb_raise(rb_eTypeError,
240
- "wrong argument type %s", rb_class2name(CLASS_OF(bb)));
236
+ rb_raise(rb_eTypeError,
237
+ "wrong argument type %s", rb_class2name(CLASS_OF(bb)));
241
238
  break;
242
239
  }
243
240
  }
@@ -271,8 +268,8 @@ static VALUE rb_gsl_matrix_mul_bang(VALUE obj, VALUE bb)
271
268
  return obj;
272
269
  break;
273
270
  default:
274
- rb_raise(rb_eTypeError,
275
- "wrong argument type %s", rb_class2name(CLASS_OF(bb)));
271
+ rb_raise(rb_eTypeError,
272
+ "wrong argument type %s", rb_class2name(CLASS_OF(bb)));
276
273
  break;
277
274
  }
278
275
  }
@@ -336,8 +333,8 @@ static VALUE rb_gsl_matrix_coerce(VALUE obj, VALUE other)
336
333
  vcm = Data_Wrap_Struct(cgsl_matrix_complex, 0, gsl_matrix_complex_free, cm);
337
334
  return rb_ary_new3(2, other, vcm);
338
335
  } else {
339
- rb_raise(rb_eTypeError, "cannot coerce %s to Matrix",
340
- rb_class2name(CLASS_OF(other)));
336
+ rb_raise(rb_eTypeError, "cannot coerce %s to Matrix",
337
+ rb_class2name(CLASS_OF(other)));
341
338
  }
342
339
  break;
343
340
  }
@@ -384,7 +381,7 @@ static VALUE rb_gsl_matrix_clean(int argc, VALUE *argv, VALUE obj)
384
381
  mnew = make_matrix_clone(m);
385
382
  n = m->size1*m->size2;
386
383
  for (i = 0; i < n; i++) if (fabs(mnew->data[i]) < eps) mnew->data[i] = 0.0;
387
- return Data_Wrap_Struct(cgsl_matrix, 0, gsl_matrix_free, mnew);;
384
+ return Data_Wrap_Struct(cgsl_matrix, 0, gsl_matrix_free, mnew);
388
385
  }
389
386
 
390
387
  static VALUE rb_gsl_matrix_clean_bang(int argc, VALUE *argv, VALUE obj)
@@ -411,8 +408,8 @@ static VALUE rb_gsl_matrix_clean_bang(int argc, VALUE *argv, VALUE obj)
411
408
  }
412
409
 
413
410
 
414
- static VALUE rb_gsl_matrix_op_inplace(VALUE mm1, VALUE mm2,
415
- int (*f)(gsl_matrix*, const gsl_matrix*))
411
+ static VALUE rb_gsl_matrix_op_inplace(VALUE mm1, VALUE mm2,
412
+ int (*f)(gsl_matrix*, const gsl_matrix*))
416
413
  {
417
414
  gsl_matrix *m1, *m2;
418
415
  Data_Get_Struct(mm1, gsl_matrix, m1);
@@ -465,9 +462,9 @@ static VALUE rb_gsl_matrix_log10(VALUE obj)
465
462
 
466
463
  #include <gsl/gsl_rng.h>
467
464
  #include <gsl/gsl_randist.h>
468
- #include "rb_gsl_rng.h"
465
+ #include "include/rb_gsl_rng.h"
469
466
  static VALUE rb_gsl_matrix_randx(int argc, VALUE *argv, VALUE klass,
470
- double (*f)(const gsl_rng*));
467
+ double (*f)(const gsl_rng*));
471
468
  static VALUE rb_gsl_matrix_rand(int argc, VALUE *argv, VALUE klass)
472
469
  {
473
470
  return rb_gsl_matrix_randx(argc, argv, klass, gsl_rng_uniform);
@@ -479,7 +476,7 @@ static VALUE rb_gsl_matrix_randn(int argc, VALUE *argv, VALUE klass)
479
476
  }
480
477
 
481
478
  static VALUE rb_gsl_matrix_randx(int argc, VALUE *argv, VALUE klass,
482
- double (*f)(const gsl_rng*))
479
+ double (*f)(const gsl_rng*))
483
480
  {
484
481
  gsl_matrix *m;
485
482
  gsl_rng *rng;
@@ -488,8 +485,8 @@ static VALUE rb_gsl_matrix_randx(int argc, VALUE *argv, VALUE klass,
488
485
  switch (argc) {
489
486
  case 3:
490
487
  if (!rb_obj_is_kind_of(argv[2], cgsl_rng)) {
491
- rb_raise(rb_eTypeError,
492
- "Wrong argument type (GSL::Rng expected)");
488
+ rb_raise(rb_eTypeError,
489
+ "Wrong argument type (GSL::Rng expected)");
493
490
  }
494
491
  Data_Get_Struct(argv[2], gsl_rng, rng);
495
492
  size1 = FIX2INT(argv[0]);
@@ -530,7 +527,7 @@ void Init_gsl_matrix(VALUE module)
530
527
  rb_define_alias(cgsl_matrix, "*", "mul");
531
528
  rb_define_method(cgsl_matrix, "mul!", rb_gsl_matrix_mul_bang, 1);
532
529
  /***/
533
-
530
+
534
531
  rb_define_method(cgsl_matrix, "to_complex", rb_gsl_matrix_to_complex, 0);
535
532
 
536
533
  rb_define_method(cgsl_matrix, "coerce", rb_gsl_matrix_coerce, 1);
@@ -2,21 +2,21 @@
2
2
  matrix_int.c
3
3
  Ruby/GSL: Ruby extension library for GSL (GNU Scientific Library)
4
4
  (C) Copyright 2001-2006 by Yoshiki Tsunesada
5
-
5
+
6
6
  Ruby/GSL is free software: you can redistribute it and/or modify it
7
7
  under the terms of the GNU General Public License.
8
8
  This library is distributed in the hope that it will be useful, but
9
9
  WITHOUT ANY WARRANTY.
10
10
  */
11
- #include "rb_gsl_config.h"
12
- #include "rb_gsl_array.h"
13
- #include "rb_gsl_complex.h"
11
+
12
+ #include "include/rb_gsl_array.h"
13
+ #include "include/rb_gsl_complex.h"
14
14
  #ifdef HAVE_NARRAY_H
15
- #include "rb_gsl_with_narray.h"
15
+ #include "include/rb_gsl_with_narray.h"
16
16
  #endif
17
17
 
18
- int gsl_linalg_matmult_int(const gsl_matrix_int *A,
19
- const gsl_matrix_int *B, gsl_matrix_int *C);
18
+ int gsl_linalg_matmult_int(const gsl_matrix_int *A,
19
+ const gsl_matrix_int *B, gsl_matrix_int *C);
20
20
 
21
21
 
22
22
  VALUE rb_gsl_matrix_to_i(VALUE obj);
@@ -85,16 +85,16 @@ static VALUE rb_gsl_matrix_int_operation1(VALUE obj, VALUE other, int flag)
85
85
  bval = NUM2INT(other);
86
86
  anew = make_matrix_int_clone(a);
87
87
  switch (flag) {
88
- case GSL_MATRIX_INT_ADD:
88
+ case GSL_MATRIX_INT_ADD:
89
89
  /*result =*/ gsl_matrix_int_add_constant(anew, bval);
90
90
  break;
91
- case GSL_MATRIX_INT_SUB:
91
+ case GSL_MATRIX_INT_SUB:
92
92
  /*result =*/ gsl_matrix_int_add_constant(anew, -bval);
93
93
  break;
94
- case GSL_MATRIX_INT_MUL:
94
+ case GSL_MATRIX_INT_MUL:
95
95
  /*result =*/ gsl_matrix_int_scale(anew, bval);
96
96
  break;
97
- case GSL_MATRIX_INT_DIV:
97
+ case GSL_MATRIX_INT_DIV:
98
98
  /*result =*/ gsl_matrix_int_scale(anew, 1.0/bval);
99
99
  break;
100
100
  default:
@@ -109,34 +109,34 @@ static VALUE rb_gsl_matrix_int_operation1(VALUE obj, VALUE other, int flag)
109
109
  Data_Get_Struct(other, gsl_matrix_int, b);
110
110
  switch (flag) {
111
111
  case GSL_MATRIX_INT_ADD:
112
- /*result =*/ gsl_matrix_int_add(anew, b);
113
- break;
112
+ /*result =*/ gsl_matrix_int_add(anew, b);
113
+ break;
114
114
  case GSL_MATRIX_INT_SUB:
115
- /*result =*/ gsl_matrix_int_sub(anew, b);
116
- break;
115
+ /*result =*/ gsl_matrix_int_sub(anew, b);
116
+ break;
117
117
  case GSL_MATRIX_INT_MUL:
118
- /*result =*/ gsl_matrix_int_mul_elements(anew, b);
119
- break;
118
+ /*result =*/ gsl_matrix_int_mul_elements(anew, b);
119
+ break;
120
120
  case GSL_MATRIX_INT_DIV:
121
- /*result =*/ gsl_matrix_int_div_elements(anew, b);
122
- break;
121
+ /*result =*/ gsl_matrix_int_div_elements(anew, b);
122
+ break;
123
123
  default:
124
- break;
124
+ break;
125
125
  }
126
126
  } else if (VECTOR_INT_COL_P(other)) {
127
127
  switch (flag) {
128
128
  case GSL_MATRIX_INT_MUL:
129
- Data_Get_Struct(other, gsl_vector_int, vi);
130
- vinew = gsl_vector_int_alloc(vi->size);
131
- gsl_matrix_int_mul_vector(vinew, a, vi);
132
- return Data_Wrap_Struct(cgsl_vector_int_col, 0, gsl_vector_int_free, vinew);
133
- break;
129
+ Data_Get_Struct(other, gsl_vector_int, vi);
130
+ vinew = gsl_vector_int_alloc(vi->size);
131
+ gsl_matrix_int_mul_vector(vinew, a, vi);
132
+ return Data_Wrap_Struct(cgsl_vector_int_col, 0, gsl_vector_int_free, vinew);
133
+ break;
134
134
  default:
135
- rb_raise(rb_eRuntimeError, "Operation not defined");
135
+ rb_raise(rb_eRuntimeError, "Operation not defined");
136
136
  }
137
137
  } else {
138
138
  rb_raise(rb_eTypeError, "Operation not defined with %s",
139
- rb_class2name(CLASS_OF(other)));
139
+ rb_class2name(CLASS_OF(other)));
140
140
  }
141
141
  break;
142
142
  }
@@ -183,48 +183,47 @@ static VALUE rb_gsl_matrix_int_matrix_mul(VALUE obj, VALUE bb)
183
183
  switch (TYPE(bb)) {
184
184
  case T_FIXNUM:
185
185
  return rb_gsl_matrix_int_mul(obj, bb);
186
- /* return rb_gsl_matrix_int_power(obj, bb);*/
186
+ /* return rb_gsl_matrix_int_power(obj, bb);*/
187
187
  break;
188
188
  default:
189
189
  rb_raise(rb_eTypeError, "wrong argument type %s (Matrix::Int, Vector::Int::Col or Fixnum expected)",
190
- rb_class2name(CLASS_OF(bb)));
190
+ rb_class2name(CLASS_OF(bb)));
191
191
  break;
192
192
  }
193
193
  }
194
194
  }
195
195
 
196
- int gsl_linalg_matmult_int(const gsl_matrix_int *A,
197
- const gsl_matrix_int *B, gsl_matrix_int *C)
196
+ int gsl_linalg_matmult_int(const gsl_matrix_int *A,
197
+ const gsl_matrix_int *B, gsl_matrix_int *C)
198
198
  {
199
199
  if (A->size2 != B->size1 || A->size1 != C->size1 || B->size2 != C->size2)
200
- {
201
- GSL_ERROR ("matrix sizes are not conformant", GSL_EBADLEN);
202
- }
200
+ {
201
+ GSL_ERROR ("matrix sizes are not conformant", GSL_EBADLEN);
202
+ }
203
203
  else
204
+ {
205
+ int a, b;
206
+ int temp;
207
+ size_t i, j, k;
208
+
209
+ for (i = 0; i < C->size1; i++)
204
210
  {
205
- int a, b;
206
- int temp;
207
- size_t i, j, k;
208
-
209
- for (i = 0; i < C->size1; i++)
211
+ for (j = 0; j < C->size2; j++)
212
+ {
213
+ a = gsl_matrix_int_get(A, i, 0);
214
+ b = gsl_matrix_int_get(B, 0, j);
215
+ temp = a * b;
216
+ for (k = 1; k < A->size2; k++)
210
217
  {
211
- for (j = 0; j < C->size2; j++)
212
- {
213
- a = gsl_matrix_int_get(A, i, 0);
214
- b = gsl_matrix_int_get(B, 0, j);
215
- temp = a * b;
216
- for (k = 1; k < A->size2; k++)
217
- {
218
- a = gsl_matrix_int_get(A, i, k);
219
- b = gsl_matrix_int_get(B, k, j);
220
- temp += a * b;
221
- }
222
- gsl_matrix_int_set(C, i, j, temp);
223
- }
218
+ a = gsl_matrix_int_get(A, i, k);
219
+ b = gsl_matrix_int_get(B, k, j);
220
+ temp += a * b;
224
221
  }
225
-
226
- return GSL_SUCCESS;
222
+ gsl_matrix_int_set(C, i, j, temp);
223
+ }
227
224
  }
225
+ return GSL_SUCCESS;
226
+ }
228
227
  }
229
228
 
230
229
  void Init_gsl_matrix_int_init(VALUE module);