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
@@ -13,33 +13,33 @@
13
13
  This source code is created modifying gsl-1.5/histogram/ *2d.c
14
14
  */
15
15
 
16
- #include "rb_gsl_histogram.h"
16
+ #include "include/rb_gsl_histogram.h"
17
17
 
18
18
  mygsl_histogram3d* mygsl_histogram3d_alloc(const size_t nx, const size_t ny,
19
- const size_t nz)
19
+ const size_t nz)
20
20
  {
21
21
  mygsl_histogram3d *h = NULL;
22
22
  if (nx == 0) GSL_ERROR_VAL ("histogram3d length nx must be positive integer",
23
- GSL_EDOM, 0);
23
+ GSL_EDOM, 0);
24
24
  if (ny == 0) GSL_ERROR_VAL ("histogram3d length ny must be positive integer",
25
- GSL_EDOM, 0);
25
+ GSL_EDOM, 0);
26
26
  if (nz == 0) GSL_ERROR_VAL ("histogram3d length nz must be positive integer",
27
- GSL_EDOM, 0);
27
+ GSL_EDOM, 0);
28
28
  h = (mygsl_histogram3d *) malloc(sizeof(mygsl_histogram3d));
29
29
  if (h == NULL) GSL_ERROR_VAL ("failed to allocate space for histogram3d struct",
30
- GSL_ENOMEM, 0);
30
+ GSL_ENOMEM, 0);
31
31
  h->xrange = (double *) malloc ((nx + 1) * sizeof (double));
32
32
  if (h->xrange == 0) {
33
33
  free (h); /* exception in constructor, avoid memory leak */
34
34
  GSL_ERROR_VAL ("failed to allocate space for histogram3d x ranges",
35
- GSL_ENOMEM, 0);
35
+ GSL_ENOMEM, 0);
36
36
  }
37
37
  h->yrange = (double *) malloc ((ny + 1) * sizeof (double));
38
38
  if (h->yrange == 0) {
39
39
  free (h->xrange);
40
40
  free (h); /* exception in constructor, avoid memory leak */
41
41
  GSL_ERROR_VAL ("failed to allocate space for histogram3d y ranges",
42
- GSL_ENOMEM, 0);
42
+ GSL_ENOMEM, 0);
43
43
  }
44
44
  h->zrange = (double *) malloc ((nz + 1) * sizeof (double));
45
45
  if (h->zrange == 0) {
@@ -47,7 +47,7 @@ mygsl_histogram3d* mygsl_histogram3d_alloc(const size_t nx, const size_t ny,
47
47
  free (h->yrange);
48
48
  free (h); /* exception in constructor, avoid memory leak */
49
49
  GSL_ERROR_VAL ("failed to allocate space for histogram3d z ranges",
50
- GSL_ENOMEM, 0);
50
+ GSL_ENOMEM, 0);
51
51
  }
52
52
  h->bin = (double *) malloc (nx*ny*nz*sizeof (double));
53
53
  if (h->bin == 0) {
@@ -56,7 +56,7 @@ mygsl_histogram3d* mygsl_histogram3d_alloc(const size_t nx, const size_t ny,
56
56
  free (h->zrange);
57
57
  free (h); /* exception in constructor, avoid memory leak */
58
58
  GSL_ERROR_VAL ("failed to allocate space for histogram bins",
59
- GSL_ENOMEM, 0);
59
+ GSL_ENOMEM, 0);
60
60
  }
61
61
  h->nx = nx;
62
62
  h->ny = ny;
@@ -64,15 +64,15 @@ mygsl_histogram3d* mygsl_histogram3d_alloc(const size_t nx, const size_t ny,
64
64
  return h;
65
65
  }
66
66
 
67
- mygsl_histogram3d* mygsl_histogram3d_calloc_uniform(const size_t nx,
68
- const size_t ny,
69
- const size_t nz,
70
- const double xmin,
71
- const double xmax,
72
- const double ymin,
73
- const double ymax,
74
- const double zmin,
75
- const double zmax)
67
+ mygsl_histogram3d* mygsl_histogram3d_calloc_uniform(const size_t nx,
68
+ const size_t ny,
69
+ const size_t nz,
70
+ const double xmin,
71
+ const double xmax,
72
+ const double ymin,
73
+ const double ymax,
74
+ const double zmin,
75
+ const double zmax)
76
76
  {
77
77
  mygsl_histogram3d *h;
78
78
  size_t i;
@@ -86,9 +86,9 @@ mygsl_histogram3d* mygsl_histogram3d_calloc_uniform(const size_t nx,
86
86
  return h;
87
87
  }
88
88
 
89
- mygsl_histogram3d* mygsl_histogram3d_calloc(const size_t nx,
90
- const size_t ny,
91
- const size_t nz)
89
+ mygsl_histogram3d* mygsl_histogram3d_calloc(const size_t nx,
90
+ const size_t ny,
91
+ const size_t nz)
92
92
  {
93
93
  mygsl_histogram3d *h;
94
94
  size_t i;
@@ -104,10 +104,10 @@ mygsl_histogram3d* mygsl_histogram3d_calloc(const size_t nx,
104
104
  return h;
105
105
  }
106
106
 
107
- int mygsl_histogram3d_set_ranges_uniform (mygsl_histogram3d * h,
108
- double xmin, double xmax,
109
- double ymin, double ymax,
110
- double zmin, double zmax)
107
+ int mygsl_histogram3d_set_ranges_uniform (mygsl_histogram3d * h,
108
+ double xmin, double xmax,
109
+ double ymin, double ymax,
110
+ double zmin, double zmax)
111
111
  {
112
112
  size_t i;
113
113
  const size_t nx = h->nx, ny = h->ny, nz = h->nz;
@@ -115,7 +115,6 @@ int mygsl_histogram3d_set_ranges_uniform (mygsl_histogram3d * h,
115
115
  if (xmin >= xmax) GSL_ERROR_VAL ("xmin must be less than xmax", GSL_EINVAL, 0);
116
116
  if (ymin >= ymax) GSL_ERROR_VAL ("ymin must be less than ymax", GSL_EINVAL, 0);
117
117
  if (zmin >= zmax) GSL_ERROR_VAL ("zmin must be less than zmax", GSL_EINVAL, 0);
118
-
119
118
  for (i = 0; i <= nx; i++)
120
119
  h->xrange[i] = xmin + ((double) i / (double) nx) * (xmax - xmin);
121
120
  for (i = 0; i <= ny; i++)
@@ -126,22 +125,22 @@ int mygsl_histogram3d_set_ranges_uniform (mygsl_histogram3d * h,
126
125
  return GSL_SUCCESS;
127
126
  }
128
127
 
129
- int mygsl_histogram3d_set_ranges(mygsl_histogram3d * h,
130
- const double xrange[], size_t xsize,
131
- const double yrange[], size_t ysize,
132
- const double zrange[], size_t zsize)
128
+ int mygsl_histogram3d_set_ranges(mygsl_histogram3d * h,
129
+ const double xrange[], size_t xsize,
130
+ const double yrange[], size_t ysize,
131
+ const double zrange[], size_t zsize)
133
132
  {
134
133
  size_t i;
135
134
  const size_t nx = h->nx, ny = h->ny, nz = h->nz;
136
135
  if (xsize != (nx + 1))
137
- GSL_ERROR_VAL ("size of xrange must match size of histogram",
138
- GSL_EINVAL, 0);
136
+ GSL_ERROR_VAL ("size of xrange must match size of histogram",
137
+ GSL_EINVAL, 0);
139
138
  if (ysize != (ny + 1))
140
- GSL_ERROR_VAL ("size of yrange must match size of histogram",
141
- GSL_EINVAL, 0);
139
+ GSL_ERROR_VAL ("size of yrange must match size of histogram",
140
+ GSL_EINVAL, 0);
142
141
  if (zsize != (nz + 1))
143
- GSL_ERROR_VAL ("size of yrange must match size of histogram",
144
- GSL_EINVAL, 0);
142
+ GSL_ERROR_VAL ("size of yrange must match size of histogram",
143
+ GSL_EINVAL, 0);
145
144
  memcpy(h->xrange, xrange, sizeof(double)*xsize);
146
145
  memcpy(h->yrange, yrange, sizeof(double)*ysize);
147
146
  memcpy(h->zrange, zrange, sizeof(double)*zsize);
@@ -161,13 +160,13 @@ void mygsl_histogram3d_free (mygsl_histogram3d * h)
161
160
  /*****/
162
161
 
163
162
  int mygsl_histogram3d_memcpy(mygsl_histogram3d * dest, const mygsl_histogram3d * src)
164
- {
165
- size_t nx = src->nx;
166
- size_t ny = src->ny;
167
- size_t nz = src->nz;
163
+ {
164
+ size_t nx = src->nx;
165
+ size_t ny = src->ny;
166
+ size_t nz = src->nz;
168
167
  if (dest->nx != src->nx || dest->ny != src->ny || dest->nz != src->nz) {
169
- GSL_ERROR ("histograms have different sizes, cannot copy",
170
- GSL_EINVAL);
168
+ GSL_ERROR ("histograms have different sizes, cannot copy",
169
+ GSL_EINVAL);
171
170
  }
172
171
  memcpy(dest->xrange, src->xrange, sizeof(double)*(nx+1));
173
172
  memcpy(dest->yrange, src->yrange, sizeof(double)*(ny+1));
@@ -187,78 +186,78 @@ mygsl_histogram3d* mygsl_histogram3d_clone(const mygsl_histogram3d * src)
187
186
  /*****/
188
187
 
189
188
  int mygsl_histogram3d_fread(FILE * stream, mygsl_histogram3d * h)
190
- {
191
- int status = gsl_block_raw_fread (stream, h->xrange, h->nx + 1, 1);
192
- if (status) return status;
193
- status = gsl_block_raw_fread (stream, h->yrange, h->ny + 1, 1);
194
- if (status) return status;
195
- status = gsl_block_raw_fread (stream, h->zrange, h->nz + 1, 1);
196
- if (status) return status;
197
- status = gsl_block_raw_fread (stream, h->bin, h->nx * h->ny * h->nz, 1);
189
+ {
190
+ int status = gsl_block_raw_fread (stream, h->xrange, h->nx + 1, 1);
191
+ if (status) return status;
192
+ status = gsl_block_raw_fread (stream, h->yrange, h->ny + 1, 1);
193
+ if (status) return status;
194
+ status = gsl_block_raw_fread (stream, h->zrange, h->nz + 1, 1);
195
+ if (status) return status;
196
+ status = gsl_block_raw_fread (stream, h->bin, h->nx * h->ny * h->nz, 1);
198
197
  return status;
199
198
  }
200
199
 
201
200
  int mygsl_histogram3d_fwrite(FILE * stream, const mygsl_histogram3d * h)
202
- {
203
- int status = gsl_block_raw_fwrite (stream, h->xrange, h->nx + 1, 1);
204
- if (status) return status;
205
- status = gsl_block_raw_fwrite (stream, h->yrange, h->ny + 1, 1);
206
- if (status) return status;
207
- status = gsl_block_raw_fwrite (stream, h->zrange, h->nz + 1, 1);
208
- if (status) return status;
209
- status = gsl_block_raw_fwrite (stream, h->bin, h->nx * h->ny * h->nz, 1);
201
+ {
202
+ int status = gsl_block_raw_fwrite (stream, h->xrange, h->nx + 1, 1);
203
+ if (status) return status;
204
+ status = gsl_block_raw_fwrite (stream, h->yrange, h->ny + 1, 1);
205
+ if (status) return status;
206
+ status = gsl_block_raw_fwrite (stream, h->zrange, h->nz + 1, 1);
207
+ if (status) return status;
208
+ status = gsl_block_raw_fwrite (stream, h->bin, h->nx * h->ny * h->nz, 1);
210
209
  return status;
211
210
  }
212
211
 
213
212
  int mygsl_histogram3d_increment(mygsl_histogram3d * h, double x, double y, double z)
214
- {
215
- int status = mygsl_histogram3d_accumulate (h, x, y, z, 1.0);
213
+ {
214
+ int status = mygsl_histogram3d_accumulate (h, x, y, z, 1.0);
216
215
  return status;
217
216
  }
218
217
 
219
218
  int mygsl_find (const size_t n, const double range[], const double x, size_t * i);
220
219
  int mygsl_find2d (const size_t nx, const double xrange[],
221
- const size_t ny, const double yrange[],
222
- const double x, const double y,
223
- size_t * i, size_t * j);
220
+ const size_t ny, const double yrange[],
221
+ const double x, const double y,
222
+ size_t * i, size_t * j);
224
223
  int mygsl_find3d (const size_t nx, const double xrange[],
225
- const size_t ny, const double yrange[],
226
- const size_t nz, const double zrange[],
227
- const double x, const double y, const double z,
228
- size_t * i, size_t * j, size_t *k);
229
-
230
- int mygsl_histogram3d_accumulate(mygsl_histogram3d * h,
231
- double x, double y, double z, double weight)
232
- {
233
- const size_t nx = h->nx;
234
- const size_t ny = h->ny;
235
- const size_t nz = h->nz;
236
- size_t i = 0, j = 0, k = 0;
224
+ const size_t ny, const double yrange[],
225
+ const size_t nz, const double zrange[],
226
+ const double x, const double y, const double z,
227
+ size_t * i, size_t * j, size_t *k);
228
+
229
+ int mygsl_histogram3d_accumulate(mygsl_histogram3d * h,
230
+ double x, double y, double z, double weight)
231
+ {
232
+ const size_t nx = h->nx;
233
+ const size_t ny = h->ny;
234
+ const size_t nz = h->nz;
235
+ size_t i = 0, j = 0, k = 0;
237
236
  int status = mygsl_find3d (h->nx, h->xrange, h->ny, h->yrange, h->nz, h->zrange,
238
- x, y, z, &i, &j, &k);
239
- if (status) return GSL_EDOM;
240
- if (i >= nx) GSL_ERROR ("index lies outside valid range of 0 .. nx - 1",
241
- GSL_ESANITY);
242
- if (j >= ny) GSL_ERROR ("index lies outside valid range of 0 .. ny - 1",
243
- GSL_ESANITY);
244
- if (k >= nz) GSL_ERROR ("index lies outside valid range of 0 .. nz - 1",
245
- GSL_ESANITY);
246
- h->bin[i*ny*nz + j*nz + k] += weight;
237
+ x, y, z, &i, &j, &k);
238
+ if (status) return GSL_EDOM;
239
+ if (i >= nx) GSL_ERROR ("index lies outside valid range of 0 .. nx - 1",
240
+ GSL_ESANITY);
241
+ if (j >= ny) GSL_ERROR ("index lies outside valid range of 0 .. ny - 1",
242
+ GSL_ESANITY);
243
+ if (k >= nz) GSL_ERROR ("index lies outside valid range of 0 .. nz - 1",
244
+ GSL_ESANITY);
245
+ h->bin[i*ny*nz + j*nz + k] += weight;
247
246
  return GSL_SUCCESS;
248
247
  }
249
248
 
250
- int mygsl_histogram3d_increment2(mygsl_histogram3d * h,
251
- double x, double y, double z)
249
+ int mygsl_histogram3d_increment2(mygsl_histogram3d * h,
250
+ double x, double y, double z)
252
251
  {
253
252
  return mygsl_histogram3d_accumulate2(h, x, y, z, 1.0);
254
253
  }
255
254
 
256
- int mygsl_histogram3d_accumulate2(mygsl_histogram3d * h,
257
- double x, double y, double z, double weight)
258
- {
259
- const size_t nx = h->nx;
260
- const size_t ny = h->ny;
261
- const size_t nz = h->nz;
255
+ int mygsl_histogram3d_accumulate2(mygsl_histogram3d * h,
256
+ double x, double y, double z, double weight)
257
+ {
258
+ const size_t nx = h->nx;
259
+ const size_t ny = h->ny;
260
+ const size_t nz = h->nz;
262
261
  size_t i = 0, j = 0, k = 0;
263
262
  int status;
264
263
  if (x < h->xrange[0]) x = h->xrange[0] + 4*GSL_DBL_EPSILON;
@@ -268,81 +267,81 @@ int mygsl_histogram3d_accumulate2(mygsl_histogram3d * h,
268
267
  if (z < h->zrange[0]) z = h->zrange[0] + 4*GSL_DBL_EPSILON;
269
268
  if (z > h->zrange[h->nz]) z = h->zrange[h->nz] - 4*GSL_DBL_EPSILON;
270
269
  status = mygsl_find3d (h->nx, h->xrange, h->ny, h->yrange, h->nz, h->zrange,
271
- x, y, z, &i, &j, &k);
272
- if (status) return GSL_EDOM;
273
- if (i >= nx) GSL_ERROR ("index lies outside valid range of 0 .. nx - 1",
274
- GSL_ESANITY);
275
- if (j >= ny) GSL_ERROR ("index lies outside valid range of 0 .. ny - 1",
276
- GSL_ESANITY);
277
- if (k >= nz) GSL_ERROR ("index lies outside valid range of 0 .. nz - 1",
278
- GSL_ESANITY);
279
- h->bin[i*ny*nz + j*nz + k] += weight;
270
+ x, y, z, &i, &j, &k);
271
+ if (status) return GSL_EDOM;
272
+ if (i >= nx) GSL_ERROR ("index lies outside valid range of 0 .. nx - 1",
273
+ GSL_ESANITY);
274
+ if (j >= ny) GSL_ERROR ("index lies outside valid range of 0 .. ny - 1",
275
+ GSL_ESANITY);
276
+ if (k >= nz) GSL_ERROR ("index lies outside valid range of 0 .. nz - 1",
277
+ GSL_ESANITY);
278
+ h->bin[i*ny*nz + j*nz + k] += weight;
280
279
  return GSL_SUCCESS;
281
280
  }
282
281
 
283
- double mygsl_histogram3d_get(const mygsl_histogram3d * h, const size_t i,
284
- const size_t j, const size_t k)
285
- {
286
- const size_t nx = h->nx;
287
- const size_t ny = h->ny;
288
- const size_t nz = h->nz;
289
- if (i >= nx) GSL_ERROR_VAL ("index i lies outside valid range of 0 .. nx - 1",
290
- GSL_EDOM, 0);
291
- if (j >= ny) GSL_ERROR_VAL ("index j lies outside valid range of 0 .. ny - 1",
292
- GSL_EDOM, 0);
293
- if (k >= nz) GSL_ERROR_VAL ("index k lies outside valid range of 0 .. nz - 1",
294
- GSL_EDOM, 0);
282
+ double mygsl_histogram3d_get(const mygsl_histogram3d * h, const size_t i,
283
+ const size_t j, const size_t k)
284
+ {
285
+ const size_t nx = h->nx;
286
+ const size_t ny = h->ny;
287
+ const size_t nz = h->nz;
288
+ if (i >= nx) GSL_ERROR_VAL ("index i lies outside valid range of 0 .. nx - 1",
289
+ GSL_EDOM, 0);
290
+ if (j >= ny) GSL_ERROR_VAL ("index j lies outside valid range of 0 .. ny - 1",
291
+ GSL_EDOM, 0);
292
+ if (k >= nz) GSL_ERROR_VAL ("index k lies outside valid range of 0 .. nz - 1",
293
+ GSL_EDOM, 0);
295
294
  return h->bin[i*ny*nz + j*nz + k];
296
295
  }
297
296
 
298
- int mygsl_histogram3d_get_xrange(const mygsl_histogram3d * h, const size_t i,
299
- double *xlower, double *xupper)
300
- {
301
- const size_t nx = h->nx;
302
- if (i >= nx) GSL_ERROR ("index i lies outside valid range of 0 .. nx - 1",
303
- GSL_EDOM);
304
- *xlower = h->xrange[i];
305
- *xupper = h->xrange[i + 1];
297
+ int mygsl_histogram3d_get_xrange(const mygsl_histogram3d * h, const size_t i,
298
+ double *xlower, double *xupper)
299
+ {
300
+ const size_t nx = h->nx;
301
+ if (i >= nx) GSL_ERROR ("index i lies outside valid range of 0 .. nx - 1",
302
+ GSL_EDOM);
303
+ *xlower = h->xrange[i];
304
+ *xupper = h->xrange[i + 1];
306
305
  return GSL_SUCCESS;
307
306
  }
308
307
 
309
- int mygsl_histogram3d_get_yrange(const mygsl_histogram3d * h, const size_t j,
310
- double *ylower, double *yupper)
311
- {
312
- const size_t ny = h->ny;
313
- if (j >= ny) GSL_ERROR ("index j lies outside valid range of 0 .. ny - 1",
314
- GSL_EDOM);
315
- *ylower = h->yrange[j];
316
- *yupper = h->yrange[j + 1];
308
+ int mygsl_histogram3d_get_yrange(const mygsl_histogram3d * h, const size_t j,
309
+ double *ylower, double *yupper)
310
+ {
311
+ const size_t ny = h->ny;
312
+ if (j >= ny) GSL_ERROR ("index j lies outside valid range of 0 .. ny - 1",
313
+ GSL_EDOM);
314
+ *ylower = h->yrange[j];
315
+ *yupper = h->yrange[j + 1];
317
316
  return GSL_SUCCESS;
318
317
  }
319
318
 
320
- int mygsl_histogram3d_get_zrange(const mygsl_histogram3d * h, const size_t k,
321
- double *zlower, double *zupper)
322
- {
323
- const size_t nz = h->nz;
324
- if (k >= nz) GSL_ERROR ("index k lies outside valid range of 0 .. nz - 1",
325
- GSL_EDOM);
326
- *zlower = h->zrange[k];
327
- *zupper = h->zrange[k + 1];
319
+ int mygsl_histogram3d_get_zrange(const mygsl_histogram3d * h, const size_t k,
320
+ double *zlower, double *zupper)
321
+ {
322
+ const size_t nz = h->nz;
323
+ if (k >= nz) GSL_ERROR ("index k lies outside valid range of 0 .. nz - 1",
324
+ GSL_EDOM);
325
+ *zlower = h->zrange[k];
326
+ *zupper = h->zrange[k + 1];
328
327
  return GSL_SUCCESS;
329
328
  }
330
329
 
331
330
  int mygsl_histogram3d_find (const mygsl_histogram3d * h,
332
- const double x, const double y, const double z,
333
- size_t * i, size_t * j, size_t *k)
334
- {
335
- int status = mygsl_find(h->nx, h->xrange, x, i);
336
- if (status) GSL_ERROR ("x not found in range of h", GSL_EDOM);
337
- status = mygsl_find (h->ny, h->yrange, y, j);
338
- if (status) GSL_ERROR ("y not found in range of h", GSL_EDOM);
339
- status = mygsl_find (h->nz, h->zrange, z, k);
340
- if (status) GSL_ERROR ("z not found in range of h", GSL_EDOM);
331
+ const double x, const double y, const double z,
332
+ size_t * i, size_t * j, size_t *k)
333
+ {
334
+ int status = mygsl_find(h->nx, h->xrange, x, i);
335
+ if (status) GSL_ERROR ("x not found in range of h", GSL_EDOM);
336
+ status = mygsl_find (h->ny, h->yrange, y, j);
337
+ if (status) GSL_ERROR ("y not found in range of h", GSL_EDOM);
338
+ status = mygsl_find (h->nz, h->zrange, z, k);
339
+ if (status) GSL_ERROR ("z not found in range of h", GSL_EDOM);
341
340
  return GSL_SUCCESS;
342
341
  }
343
342
 
344
343
  gsl_histogram2d* mygsl_histogram3d_xyproject(const mygsl_histogram3d * h3,
345
- size_t kstart, size_t kend)
344
+ size_t kstart, size_t kend)
346
345
  {
347
346
  gsl_histogram2d *h2;
348
347
  double count;
@@ -353,8 +352,8 @@ gsl_histogram2d* mygsl_histogram3d_xyproject(const mygsl_histogram3d * h3,
353
352
  for (j = 0; j < h3->ny; j++) {
354
353
  count = 0;
355
354
  for (k = kstart; k <= kend; k++) {
356
- if (k >= h3->nz) break;
357
- count += mygsl_histogram3d_get(h3, i, j, k);
355
+ if (k >= h3->nz) break;
356
+ count += mygsl_histogram3d_get(h3, i, j, k);
358
357
  }
359
358
  h2->bin[i*h2->ny + j] = count;
360
359
  }
@@ -363,7 +362,7 @@ gsl_histogram2d* mygsl_histogram3d_xyproject(const mygsl_histogram3d * h3,
363
362
  }
364
363
 
365
364
  gsl_histogram2d* mygsl_histogram3d_xzproject(const mygsl_histogram3d * h3,
366
- size_t jstart, size_t jend)
365
+ size_t jstart, size_t jend)
367
366
  {
368
367
  gsl_histogram2d *h2;
369
368
  double count;
@@ -374,8 +373,8 @@ gsl_histogram2d* mygsl_histogram3d_xzproject(const mygsl_histogram3d * h3,
374
373
  for (k = 0; k < h3->nz; k++) {
375
374
  count = 0;
376
375
  for (j = jstart; j <= jend; j++) {
377
- if (j >= h3->ny) break;
378
- count += mygsl_histogram3d_get(h3, i, j, k);
376
+ if (j >= h3->ny) break;
377
+ count += mygsl_histogram3d_get(h3, i, j, k);
379
378
  }
380
379
  h2->bin[i*h2->ny + k] = count;
381
380
  }
@@ -384,7 +383,7 @@ gsl_histogram2d* mygsl_histogram3d_xzproject(const mygsl_histogram3d * h3,
384
383
  }
385
384
 
386
385
  gsl_histogram2d* mygsl_histogram3d_yzproject(const mygsl_histogram3d * h3,
387
- size_t istart, size_t iend)
386
+ size_t istart, size_t iend)
388
387
  {
389
388
  gsl_histogram2d *h2;
390
389
  double count;
@@ -395,8 +394,8 @@ gsl_histogram2d* mygsl_histogram3d_yzproject(const mygsl_histogram3d * h3,
395
394
  for (k = 0; k < h3->nz; k++) {
396
395
  count = 0;
397
396
  for (i = istart; i <= iend; i++) {
398
- if (i >= h3->nx) break;
399
- count += mygsl_histogram3d_get(h3, i, j, k);
397
+ if (i >= h3->nx) break;
398
+ count += mygsl_histogram3d_get(h3, i, j, k);
400
399
  }
401
400
  h2->bin[j*h2->ny + k] = count;
402
401
  }
@@ -422,7 +421,7 @@ int mygsl_histogram3d_shift(mygsl_histogram3d * h, double shift)
422
421
 
423
422
  double mygsl_histogram3d_xmax(const mygsl_histogram3d * h)
424
423
  {
425
- const int nx = h->nx;
424
+ const int nx = h->nx;
426
425
  return h->xrange[nx];
427
426
  }
428
427
  double mygsl_histogram3d_xmin(const mygsl_histogram3d * h)
@@ -432,7 +431,7 @@ double mygsl_histogram3d_xmin(const mygsl_histogram3d * h)
432
431
 
433
432
  double mygsl_histogram3d_ymax(const mygsl_histogram3d * h)
434
433
  {
435
- const int ny = h->ny;
434
+ const int ny = h->ny;
436
435
  return h->yrange[ny];
437
436
  }
438
437
  double mygsl_histogram3d_ymin(const mygsl_histogram3d * h)
@@ -442,7 +441,7 @@ double mygsl_histogram3d_ymin(const mygsl_histogram3d * h)
442
441
 
443
442
  double mygsl_histogram3d_zmax(const mygsl_histogram3d * h)
444
443
  {
445
- const int nz = h->nz;
444
+ const int nz = h->nz;
446
445
  return h->zrange[nz];
447
446
  }
448
447
 
@@ -464,8 +463,8 @@ double mygsl_histogram3d_max_val(const mygsl_histogram3d * h)
464
463
  return max;
465
464
  }
466
465
 
467
- void mygsl_histogram3d_max_bin(const mygsl_histogram3d * h,
468
- size_t *imax_out, size_t *jmax_out, size_t *kmax_out)
466
+ void mygsl_histogram3d_max_bin(const mygsl_histogram3d * h,
467
+ size_t *imax_out, size_t *jmax_out, size_t *kmax_out)
469
468
  {
470
469
  const size_t nx = h->nx;
471
470
  const size_t ny = h->ny;
@@ -475,13 +474,13 @@ void mygsl_histogram3d_max_bin(const mygsl_histogram3d * h,
475
474
  for (i = 0; i < nx; i++) {
476
475
  for (j = 0; j < ny; j++) {
477
476
  for (k = 0; k < nz; k++) {
478
- x = h->bin[i * ny*nz + j*nz + k];
479
- if (x > max) {
480
- max = x;
481
- imax = i;
482
- jmax = j;
483
- kmax = k;
484
- }
477
+ x = h->bin[i * ny*nz + j*nz + k];
478
+ if (x > max) {
479
+ max = x;
480
+ imax = i;
481
+ jmax = j;
482
+ kmax = k;
483
+ }
485
484
  }
486
485
  }
487
486
  }
@@ -503,8 +502,8 @@ double mygsl_histogram3d_min_val(const mygsl_histogram3d * h)
503
502
  return min;
504
503
  }
505
504
 
506
- void mygsl_histogram3d_min_bin(const mygsl_histogram3d * h,
507
- size_t *imin_out, size_t *jmin_out, size_t *kmin_out)
505
+ void mygsl_histogram3d_min_bin(const mygsl_histogram3d * h,
506
+ size_t *imin_out, size_t *jmin_out, size_t *kmin_out)
508
507
  {
509
508
  const size_t nx = h->nx;
510
509
  const size_t ny = h->ny;
@@ -514,13 +513,13 @@ void mygsl_histogram3d_min_bin(const mygsl_histogram3d * h,
514
513
  for (i = 0; i < nx; i++) {
515
514
  for (j = 0; j < ny; j++) {
516
515
  for (k = 0; k < nz; k++) {
517
- x = h->bin[i * ny*nz + j*nz + k];
518
- if (x < min) {
519
- min = x;
520
- imin = i;
521
- jmin = j;
522
- kmin = k;
523
- }
516
+ x = h->bin[i * ny*nz + j*nz + k];
517
+ if (x < min) {
518
+ min = x;
519
+ imin = i;
520
+ jmin = j;
521
+ kmin = k;
522
+ }
524
523
  }
525
524
  }
526
525
  }
@@ -551,8 +550,8 @@ double mygsl_histogram3d_xmean (const mygsl_histogram3d * h)
551
550
  double wi = 0;
552
551
  for (j = 0; j < ny; j++) {
553
552
  for (k = 0; k < nz; k++) {
554
- double wijk = h->bin[i * ny *nz + j * nz + k];
555
- if (wijk > 0) wi += wijk;
553
+ double wijk = h->bin[i * ny *nz + j * nz + k];
554
+ if (wijk > 0) wi += wijk;
556
555
  }
557
556
  }
558
557
  if (wi > 0) {
@@ -576,8 +575,8 @@ double mygsl_histogram3d_ymean (const mygsl_histogram3d * h)
576
575
  double wj = 0;
577
576
  for (i = 0; i < nx; i++) {
578
577
  for (k = 0; k < nz; k++) {
579
- double wijk = h->bin[i * ny *nz + j * nz + k];
580
- if (wijk > 0) wj += wijk;
578
+ double wijk = h->bin[i * ny *nz + j * nz + k];
579
+ if (wijk > 0) wj += wijk;
581
580
  }
582
581
  }
583
582
  if (wj > 0) {
@@ -601,8 +600,8 @@ double mygsl_histogram3d_zmean (const mygsl_histogram3d * h)
601
600
  double wk = 0;
602
601
  for (i = 0; i < nx; i++) {
603
602
  for (j = 0; j < ny; j++) {
604
- double wijk = h->bin[i * ny *nz + j * nz + k];
605
- if (wijk > 0) wk += wijk;
603
+ double wijk = h->bin[i * ny *nz + j * nz + k];
604
+ if (wijk > 0) wk += wijk;
606
605
  }
607
606
  }
608
607
  if (wk > 0) {
@@ -624,8 +623,8 @@ double mygsl_histogram3d_xsigma(const mygsl_histogram3d * h)
624
623
  double wi = 0;
625
624
  for (j = 0; j < ny; j++) {
626
625
  for (k = 0; k < nz; k++) {
627
- double wijk = h->bin[i * ny*nz + j*nz + k];
628
- if (wijk > 0) wi += wijk;
626
+ double wijk = h->bin[i * ny*nz + j*nz + k];
627
+ if (wijk > 0) wi += wijk;
629
628
  }
630
629
  }
631
630
  if (wi > 0) {
@@ -633,7 +632,7 @@ double mygsl_histogram3d_xsigma(const mygsl_histogram3d * h)
633
632
  wvariance += ((xi * xi) - wvariance) * (wi / W);
634
633
  }
635
634
  }
636
- return sqrt(wvariance);
635
+ return sqrt(wvariance);
637
636
  }
638
637
 
639
638
  double mygsl_histogram3d_ysigma(const mygsl_histogram3d * h)
@@ -647,8 +646,8 @@ double mygsl_histogram3d_ysigma(const mygsl_histogram3d * h)
647
646
  double wj = 0;
648
647
  for (i = 0; i < nx; i++) {
649
648
  for (k = 0; k < nz; k++) {
650
- double wjjk = h->bin[i * ny*nz + j*nz + k];
651
- if (wjjk > 0) wj += wjjk;
649
+ double wjjk = h->bin[i * ny*nz + j*nz + k];
650
+ if (wjjk > 0) wj += wjjk;
652
651
  }
653
652
  }
654
653
  if (wj > 0) {
@@ -656,7 +655,7 @@ double mygsl_histogram3d_ysigma(const mygsl_histogram3d * h)
656
655
  wvariance += ((yj * yj) - wvariance) * (wj / W);
657
656
  }
658
657
  }
659
- return sqrt(wvariance);
658
+ return sqrt(wvariance);
660
659
  }
661
660
 
662
661
  double mygsl_histogram3d_zsigma(const mygsl_histogram3d * h)
@@ -670,8 +669,8 @@ double mygsl_histogram3d_zsigma(const mygsl_histogram3d * h)
670
669
  double wk = 0;
671
670
  for (i = 0; i < nx; i++) {
672
671
  for (j = 0; j < ny; j++) {
673
- double wijk = h->bin[i * ny*nz + j*nz + k];
674
- if (wijk > 0) wk += wijk;
672
+ double wijk = h->bin[i * ny*nz + j*nz + k];
673
+ if (wijk > 0) wk += wijk;
675
674
  }
676
675
  }
677
676
  if (wk > 0) {
@@ -679,7 +678,7 @@ double mygsl_histogram3d_zsigma(const mygsl_histogram3d * h)
679
678
  wvariance += ((zk * zk) - wvariance) * (wk / W);
680
679
  }
681
680
  }
682
- return sqrt(wvariance);
681
+ return sqrt(wvariance);
683
682
  }
684
683
 
685
684
  void mygsl_histogram3d_reset(mygsl_histogram3d * h)
@@ -690,17 +689,17 @@ void mygsl_histogram3d_reset(mygsl_histogram3d * h)
690
689
  const size_t nz = h->nz;
691
690
 
692
691
  for (i = 0; i < nx * ny * nz; i++)
693
- {
694
- h->bin[i] = 0;
695
- }
692
+ {
693
+ h->bin[i] = 0;
694
+ }
696
695
  }
697
696
 
698
697
  int mygsl_histogram3d_equal_bins_p(const mygsl_histogram3d * h1,
699
- const mygsl_histogram3d * h2)
698
+ const mygsl_histogram3d * h2)
700
699
  {
701
700
  size_t i;
702
701
  if ((h1->nx != h2->nx) || (h1->ny != h2->ny) || (h1->nz != h2->nz)) return 0;
703
- for (i = 0; i <= h1->nx; i++)
702
+ for (i = 0; i <= h1->nx; i++)
704
703
  if (h1->xrange[i] != h2->xrange[i]) return 0;
705
704
  for (i = 0; i <= h1->ny; i++)
706
705
  if (h1->yrange[i] != h2->yrange[i]) return 0;