rb-gsl 1.16.0.4 → 1.16.0.5

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 (307) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +12 -0
  3. data/.travis.yml +24 -0
  4. data/AUTHORS +6 -0
  5. data/COPYING +341 -339
  6. data/ChangeLog +608 -587
  7. data/Gemfile +4 -0
  8. data/README.md +77 -0
  9. data/Rakefile +14 -33
  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/{gsl → gsl_native}/alf.c +9 -9
  89. data/ext/{gsl → gsl_native}/array.c +64 -151
  90. data/ext/{gsl → gsl_native}/array_complex.c +61 -63
  91. data/ext/{gsl → gsl_native}/blas.c +0 -0
  92. data/ext/{gsl → gsl_native}/blas1.c +32 -32
  93. data/ext/{gsl → gsl_native}/blas2.c +54 -58
  94. data/ext/{gsl → gsl_native}/blas3.c +54 -54
  95. data/ext/{gsl → gsl_native}/block.c +3 -6
  96. data/ext/{gsl/block_source.c → gsl_native/block_source.h} +109 -111
  97. data/ext/gsl_native/bspline.c +122 -0
  98. data/ext/{gsl → gsl_native}/bundle.c +0 -0
  99. data/ext/{gsl → gsl_native}/cdf.c +76 -88
  100. data/ext/{gsl → gsl_native}/cheb.c +74 -85
  101. data/ext/{gsl → gsl_native}/combination.c +9 -16
  102. data/ext/{gsl → gsl_native}/common.c +7 -37
  103. data/ext/{gsl → gsl_native}/complex.c +113 -115
  104. data/ext/gsl_native/const.c +331 -0
  105. data/ext/{gsl → gsl_native}/const_additional.c +12 -33
  106. data/ext/gsl_native/cqp.c +283 -0
  107. data/ext/{gsl → gsl_native}/deriv.c +22 -30
  108. data/ext/{gsl → gsl_native}/dht.c +20 -28
  109. data/ext/{gsl → gsl_native}/diff.c +23 -25
  110. data/ext/{gsl → gsl_native}/dirac.c +44 -45
  111. data/ext/{gsl → gsl_native}/eigen.c +1031 -1082
  112. data/ext/{gsl → gsl_native}/error.c +13 -13
  113. data/ext/{gsl → gsl_native}/extconf.rb +5 -13
  114. data/ext/{gsl → gsl_native}/fft.c +192 -198
  115. data/ext/{gsl → gsl_native}/fit.c +16 -16
  116. data/ext/gsl_native/fresnel.c +312 -0
  117. data/ext/{gsl → gsl_native}/function.c +29 -35
  118. data/ext/{gsl → gsl_native}/geometry.c +15 -15
  119. data/ext/{gsl → gsl_native}/graph.c +37 -87
  120. data/ext/{gsl → gsl_native}/gsl.c +10 -23
  121. data/ext/{gsl → gsl_native}/gsl_narray.c +15 -24
  122. data/ext/{gsl → gsl_native}/histogram.c +123 -150
  123. data/ext/{gsl → gsl_native}/histogram2d.c +71 -96
  124. data/ext/{gsl → gsl_native}/histogram3d.c +72 -72
  125. data/ext/{gsl → gsl_native}/histogram3d_source.c +195 -196
  126. data/ext/{gsl → gsl_native}/histogram_find.c +31 -33
  127. data/ext/{gsl → gsl_native}/histogram_oper.c +43 -52
  128. data/ext/{gsl → gsl_native}/ieee.c +7 -15
  129. data/ext/{gsl → gsl_native}/include/rb_gsl.h +0 -7
  130. data/ext/{gsl → gsl_native}/include/rb_gsl_array.h +15 -25
  131. data/ext/{gsl → gsl_native}/include/rb_gsl_cheb.h +0 -0
  132. data/ext/{gsl → gsl_native}/include/rb_gsl_common.h +44 -52
  133. data/ext/{gsl → gsl_native}/include/rb_gsl_complex.h +0 -0
  134. data/ext/{gsl → gsl_native}/include/rb_gsl_const.h +0 -5
  135. data/ext/{gsl → gsl_native}/include/rb_gsl_dirac.h +0 -0
  136. data/ext/{gsl → gsl_native}/include/rb_gsl_eigen.h +0 -0
  137. data/ext/{gsl → gsl_native}/include/rb_gsl_fft.h +0 -3
  138. data/ext/{gsl → gsl_native}/include/rb_gsl_fit.h +0 -0
  139. data/ext/{gsl → gsl_native}/include/rb_gsl_function.h +0 -0
  140. data/ext/{gsl → gsl_native}/include/rb_gsl_graph.h +2 -2
  141. data/ext/{gsl → gsl_native}/include/rb_gsl_histogram.h +8 -8
  142. data/ext/{gsl → gsl_native}/include/rb_gsl_histogram3d.h +50 -50
  143. data/ext/{gsl → gsl_native}/include/rb_gsl_integration.h +0 -0
  144. data/ext/{gsl → gsl_native}/include/rb_gsl_interp.h +0 -0
  145. data/ext/{gsl → gsl_native}/include/rb_gsl_linalg.h +0 -1
  146. data/ext/{gsl → gsl_native}/include/rb_gsl_math.h +0 -4
  147. data/ext/{gsl → gsl_native}/include/rb_gsl_odeiv.h +0 -0
  148. data/ext/{gsl → gsl_native}/include/rb_gsl_poly.h +3 -3
  149. data/ext/{gsl → gsl_native}/include/rb_gsl_rational.h +1 -1
  150. data/ext/{gsl → gsl_native}/include/rb_gsl_rng.h +0 -0
  151. data/ext/{gsl → gsl_native}/include/rb_gsl_root.h +0 -0
  152. data/ext/{gsl → gsl_native}/include/rb_gsl_sf.h +39 -43
  153. data/ext/{gsl → gsl_native}/include/rb_gsl_statistics.h +0 -0
  154. data/ext/{gsl → gsl_native}/include/rb_gsl_tensor.h +0 -0
  155. data/ext/{gsl → gsl_native}/include/rb_gsl_with_narray.h +0 -0
  156. data/ext/{gsl → gsl_native}/include/templates_off.h +0 -0
  157. data/ext/{gsl → gsl_native}/include/templates_on.h +1 -1
  158. data/ext/{gsl → gsl_native}/integration.c +160 -183
  159. data/ext/{gsl → gsl_native}/interp.c +23 -31
  160. data/ext/gsl_native/jacobi.c +733 -0
  161. data/ext/{gsl → gsl_native}/linalg.c +448 -576
  162. data/ext/{gsl → gsl_native}/linalg_complex.c +84 -98
  163. data/ext/{gsl → gsl_native}/math.c +45 -63
  164. data/ext/{gsl → gsl_native}/matrix.c +4 -6
  165. data/ext/{gsl → gsl_native}/matrix_complex.c +111 -114
  166. data/ext/{gsl → gsl_native}/matrix_double.c +74 -77
  167. data/ext/{gsl → gsl_native}/matrix_int.c +49 -50
  168. data/ext/{gsl/matrix_source.c → gsl_native/matrix_source.h} +280 -302
  169. data/ext/{gsl → gsl_native}/min.c +43 -74
  170. data/ext/{gsl → gsl_native}/monte.c +45 -59
  171. data/ext/{gsl → gsl_native}/multifit.c +138 -147
  172. data/ext/{gsl → gsl_native}/multimin.c +55 -83
  173. data/ext/{gsl → gsl_native}/multimin_fsdf.c +15 -15
  174. data/ext/{gsl → gsl_native}/multiroots.c +61 -64
  175. data/ext/{gsl → gsl_native}/multiset.c +3 -7
  176. data/ext/{gsl → gsl_native}/ndlinear.c +320 -321
  177. data/ext/{gsl → gsl_native}/nmf.c +11 -11
  178. data/ext/{gsl → gsl_native}/nmf_wrap.c +1 -1
  179. data/ext/{gsl → gsl_native}/ntuple.c +13 -13
  180. data/ext/{gsl → gsl_native}/odeiv.c +95 -106
  181. data/ext/gsl_native/ool.c +879 -0
  182. data/ext/{gsl → gsl_native}/permutation.c +36 -34
  183. data/ext/{gsl → gsl_native}/poly.c +2 -5
  184. data/ext/{gsl → gsl_native}/poly2.c +6 -6
  185. data/ext/{gsl/poly_source.c → gsl_native/poly_source.h} +232 -275
  186. data/ext/{gsl → gsl_native}/qrng.c +6 -17
  187. data/ext/{gsl → gsl_native}/randist.c +218 -243
  188. data/ext/{gsl → gsl_native}/rational.c +9 -9
  189. data/ext/{gsl → gsl_native}/rng.c +29 -45
  190. data/ext/{gsl → gsl_native}/root.c +43 -43
  191. data/ext/{gsl → gsl_native}/sf.c +163 -197
  192. data/ext/{gsl → gsl_native}/sf_airy.c +0 -0
  193. data/ext/{gsl → gsl_native}/sf_bessel.c +6 -6
  194. data/ext/{gsl → gsl_native}/sf_clausen.c +0 -0
  195. data/ext/{gsl → gsl_native}/sf_coulomb.c +39 -39
  196. data/ext/{gsl → gsl_native}/sf_coupling.c +29 -29
  197. data/ext/{gsl → gsl_native}/sf_dawson.c +0 -0
  198. data/ext/{gsl → gsl_native}/sf_debye.c +0 -9
  199. data/ext/{gsl → gsl_native}/sf_dilog.c +0 -0
  200. data/ext/{gsl → gsl_native}/sf_elementary.c +2 -2
  201. data/ext/{gsl → gsl_native}/sf_ellint.c +42 -42
  202. data/ext/{gsl → gsl_native}/sf_elljac.c +2 -2
  203. data/ext/{gsl → gsl_native}/sf_erfc.c +0 -4
  204. data/ext/{gsl → gsl_native}/sf_exp.c +2 -2
  205. data/ext/{gsl → gsl_native}/sf_expint.c +1 -11
  206. data/ext/{gsl → gsl_native}/sf_fermi_dirac.c +0 -0
  207. data/ext/{gsl → gsl_native}/sf_gamma.c +1 -5
  208. data/ext/{gsl → gsl_native}/sf_gegenbauer.c +0 -0
  209. data/ext/{gsl → gsl_native}/sf_hyperg.c +0 -0
  210. data/ext/{gsl → gsl_native}/sf_laguerre.c +3 -3
  211. data/ext/{gsl → gsl_native}/sf_lambert.c +0 -0
  212. data/ext/{gsl → gsl_native}/sf_legendre.c +0 -0
  213. data/ext/{gsl → gsl_native}/sf_log.c +3 -3
  214. data/ext/gsl_native/sf_mathieu.c +235 -0
  215. data/ext/{gsl → gsl_native}/sf_power.c +0 -0
  216. data/ext/{gsl → gsl_native}/sf_psi.c +2 -11
  217. data/ext/{gsl → gsl_native}/sf_synchrotron.c +0 -0
  218. data/ext/{gsl → gsl_native}/sf_transport.c +0 -0
  219. data/ext/{gsl → gsl_native}/sf_trigonometric.c +3 -3
  220. data/ext/{gsl → gsl_native}/sf_zeta.c +0 -4
  221. data/ext/{gsl → gsl_native}/signal.c +60 -64
  222. data/ext/{gsl → gsl_native}/siman.c +36 -40
  223. data/ext/{gsl → gsl_native}/sort.c +3 -4
  224. data/ext/{gsl → gsl_native}/spline.c +25 -43
  225. data/ext/{gsl → gsl_native}/stats.c +102 -115
  226. data/ext/{gsl → gsl_native}/sum.c +32 -32
  227. data/ext/{gsl → gsl_native}/tamu_anova.c +0 -0
  228. data/ext/{gsl → gsl_native}/tensor.c +2 -4
  229. data/ext/{gsl/tensor_source.c → gsl_native/tensor_source.h} +144 -144
  230. data/ext/{gsl → gsl_native}/vector.c +2 -4
  231. data/ext/{gsl → gsl_native}/vector_complex.c +165 -171
  232. data/ext/{gsl → gsl_native}/vector_double.c +167 -174
  233. data/ext/{gsl → gsl_native}/vector_int.c +23 -25
  234. data/ext/{gsl/vector_source.c → gsl_native/vector_source.h} +400 -414
  235. data/ext/{gsl → gsl_native}/wavelet.c +215 -236
  236. data/lib/gsl.rb +1 -7
  237. data/lib/gsl/gnuplot.rb +2 -2
  238. data/lib/gsl/version.rb +1 -3
  239. data/rb-gsl.gemspec +29 -0
  240. data/rdoc/blas.rdoc +3 -3
  241. data/rdoc/bspline.rdoc +7 -7
  242. data/rdoc/cheb.rdoc +8 -8
  243. data/rdoc/cholesky_complex.rdoc +1 -1
  244. data/rdoc/combi.rdoc +9 -9
  245. data/rdoc/complex.rdoc +11 -11
  246. data/rdoc/const.rdoc +20 -20
  247. data/rdoc/dht.rdoc +6 -6
  248. data/rdoc/diff.rdoc +6 -6
  249. data/rdoc/ehandling.rdoc +3 -3
  250. data/rdoc/eigen.rdoc +11 -11
  251. data/rdoc/fft.rdoc +26 -26
  252. data/rdoc/fit.rdoc +18 -18
  253. data/rdoc/graph.rdoc +2 -2
  254. data/rdoc/hist.rdoc +16 -16
  255. data/rdoc/hist2d.rdoc +4 -4
  256. data/rdoc/hist3d.rdoc +3 -3
  257. data/rdoc/integration.rdoc +16 -16
  258. data/rdoc/interp.rdoc +11 -11
  259. data/rdoc/intro.rdoc +3 -3
  260. data/rdoc/linalg.rdoc +20 -20
  261. data/rdoc/linalg_complex.rdoc +1 -1
  262. data/rdoc/math.rdoc +13 -13
  263. data/rdoc/matrix.rdoc +22 -22
  264. data/rdoc/min.rdoc +9 -9
  265. data/rdoc/monte.rdoc +3 -3
  266. data/rdoc/multimin.rdoc +12 -12
  267. data/rdoc/multiroot.rdoc +12 -12
  268. data/rdoc/narray.rdoc +9 -9
  269. data/rdoc/ndlinear.rdoc +4 -4
  270. data/rdoc/nonlinearfit.rdoc +17 -17
  271. data/rdoc/ntuple.rdoc +5 -5
  272. data/rdoc/odeiv.rdoc +12 -12
  273. data/rdoc/perm.rdoc +11 -11
  274. data/rdoc/poly.rdoc +17 -17
  275. data/rdoc/qrng.rdoc +9 -9
  276. data/rdoc/randist.rdoc +10 -10
  277. data/rdoc/ref.rdoc +49 -49
  278. data/rdoc/rng.rdoc +9 -9
  279. data/rdoc/roots.rdoc +12 -12
  280. data/rdoc/sf.rdoc +35 -35
  281. data/rdoc/siman.rdoc +3 -3
  282. data/rdoc/sort.rdoc +6 -6
  283. data/rdoc/start.rdoc +2 -2
  284. data/rdoc/stats.rdoc +13 -13
  285. data/rdoc/sum.rdoc +4 -4
  286. data/rdoc/tensor.rdoc +3 -3
  287. data/rdoc/tut.rdoc +1 -1
  288. data/rdoc/use.rdoc +3 -3
  289. data/rdoc/vector.rdoc +28 -28
  290. data/rdoc/vector_complex.rdoc +6 -6
  291. data/rdoc/wavelet.rdoc +8 -8
  292. data/test/gsl/blas_test.rb +1 -1
  293. data/test/gsl/index_test.rb +61 -0
  294. data/test/gsl/matrix_test.rb +21 -0
  295. data/uncrustify.cfg +1693 -0
  296. metadata +212 -243
  297. data/README +0 -28
  298. data/ext/gsl/bspline.c +0 -130
  299. data/ext/gsl/const.c +0 -672
  300. data/ext/gsl/cqp.c +0 -283
  301. data/ext/gsl/fcmp.c +0 -64
  302. data/ext/gsl/fresnel.c +0 -312
  303. data/ext/gsl/jacobi.c +0 -739
  304. data/ext/gsl/ool.c +0 -879
  305. data/ext/gsl/oper_complex_source.c +0 -251
  306. data/ext/gsl/sf_mathieu.c +0 -238
  307. data/rdoc/index.rdoc +0 -50
@@ -199,7 +199,7 @@ static VALUE rb_gsl_poly_make_rational(VALUE obj, VALUE other)
199
199
  case T_ARRAY:
200
200
  p2 = gsl_vector_alloc(RARRAY_LEN(other));
201
201
  for (i = 0; i < p2->size; i++)
202
- gsl_vector_set(p2, i, NUM2DBL(rb_ary_entry(other, i)));
202
+ gsl_vector_set(p2, i, NUM2DBL(rb_ary_entry(other, i)));
203
203
  rnew = gsl_rational_new(p, p2);
204
204
  gsl_vector_free(p2);
205
205
  break;
@@ -210,8 +210,8 @@ static VALUE rb_gsl_poly_make_rational(VALUE obj, VALUE other)
210
210
  return Data_Wrap_Struct(cgsl_poly, 0, gsl_vector_free, p2);
211
211
  break;
212
212
  default:
213
- rb_raise(rb_eTypeError, "wrong argument type %s",
214
- rb_class2name(CLASS_OF(other)));
213
+ rb_raise(rb_eTypeError, "wrong argument type %s",
214
+ rb_class2name(CLASS_OF(other)));
215
215
  break;
216
216
  }
217
217
  }
@@ -280,7 +280,7 @@ static VALUE rb_gsl_rational_uminus(VALUE obj)
280
280
  if (RATIONAL_P(obj)) {
281
281
  Data_Get_Struct(obj, gsl_rational, r);
282
282
  rnew = gsl_rational_new(r->pnum, r->pden);
283
- for (i = 0; i < rnew->pnum->size; i++)
283
+ for (i = 0; i < rnew->pnum->size; i++)
284
284
  gsl_vector_set(rnew->pnum, i, -gsl_vector_get(r->pnum, i));
285
285
  return Data_Wrap_Struct(cgsl_rational, gsl_rational_mark, gsl_rational_free, rnew);
286
286
  } else {
@@ -342,7 +342,7 @@ static VALUE rb_gsl_rational_div(VALUE obj, VALUE other)
342
342
  case T_ARRAY:
343
343
  p = gsl_vector_alloc(RARRAY_LEN(other));
344
344
  for (i = 0; i < p->size; i++)
345
- gsl_vector_set(p, i, NUM2DBL(rb_ary_entry(other, i)));
345
+ gsl_vector_set(p, i, NUM2DBL(rb_ary_entry(other, i)));
346
346
  rnew = gsl_rational_div_poly(r, p);
347
347
  gsl_vector_free(p);
348
348
  break;
@@ -352,8 +352,8 @@ static VALUE rb_gsl_rational_div(VALUE obj, VALUE other)
352
352
  gsl_vector_scale(rnew->pnum, 1.0/NUM2DBL(other));
353
353
  break;
354
354
  default:
355
- rb_raise(rb_eTypeError, "wrong argument type %s",
356
- rb_class2name(CLASS_OF(other)));
355
+ rb_raise(rb_eTypeError, "wrong argument type %s",
356
+ rb_class2name(CLASS_OF(other)));
357
357
  break;
358
358
  }
359
359
  }
@@ -407,8 +407,8 @@ static VALUE rb_gsl_rational_coerce(VALUE obj, VALUE other)
407
407
  ptmp = gsl_vector_alloc(1);
408
408
  gsl_vector_set(ptmp, 0, 1.0);
409
409
  r = gsl_rational_new2(p, ptmp);
410
- return rb_ary_new3(2,
411
- Data_Wrap_Struct(cgsl_rational, gsl_rational_mark, gsl_rational_free, r), obj);
410
+ return rb_ary_new3(2,
411
+ Data_Wrap_Struct(cgsl_rational, gsl_rational_mark, gsl_rational_free, r), obj);
412
412
  }
413
413
 
414
414
  static VALUE rb_gsl_rational_zero(VALUE obj)
@@ -9,7 +9,7 @@
9
9
  WITHOUT ANY WARRANTY.
10
10
  */
11
11
 
12
- /*
12
+ /*
13
13
  Document-class: <i>GSL::Rng</i>
14
14
  Random number generator
15
15
  */
@@ -24,22 +24,22 @@ VALUE cgsl_rng;
24
24
 
25
25
  enum rb_gsl_rng_generator {
26
26
  GSL_RNG_DEFAULT,
27
- GSL_RNG_MT19937, GSL_RNG_MT19937_1999, GSL_RNG_MT19937_1998,
28
- GSL_RNG_RANLXS0, GSL_RNG_RANLXS1, GSL_RNG_RANLXS2,
29
- GSL_RNG_RANLXD1, GSL_RNG_RANLXD2,
27
+ GSL_RNG_MT19937, GSL_RNG_MT19937_1999, GSL_RNG_MT19937_1998,
28
+ GSL_RNG_RANLXS0, GSL_RNG_RANLXS1, GSL_RNG_RANLXS2,
29
+ GSL_RNG_RANLXD1, GSL_RNG_RANLXD2,
30
30
  GSL_RNG_RANLUX, GSL_RNG_RANLUX389,
31
- GSL_RNG_CMRG, GSL_RNG_MRG,
31
+ GSL_RNG_CMRG, GSL_RNG_MRG,
32
32
  GSL_RNG_TAUS, GSL_RNG_TAUS2, GSL_RNG_TAUS113, GSL_RNG_GFSR4,
33
- GSL_RNG_RAND,
33
+ GSL_RNG_RAND,
34
34
  GSL_RNG_RANDOM_BSD, GSL_RNG_RANDOM_GLIBC2,
35
- GSL_RNG_RANDOM8_GLIBC2, GSL_RNG_RANDOM32_GLIBC2, GSL_RNG_RANDOM64_GLIBC2,
35
+ GSL_RNG_RANDOM8_GLIBC2, GSL_RNG_RANDOM32_GLIBC2, GSL_RNG_RANDOM64_GLIBC2,
36
36
  GSL_RNG_RANDOM128_GLIBC2, GSL_RNG_RANDOM256_GLIBC2,
37
- GSL_RNG_RANDOM8_BSD, GSL_RNG_RANDOM32_BSD, GSL_RNG_RANDOM64_BSD,
37
+ GSL_RNG_RANDOM8_BSD, GSL_RNG_RANDOM32_BSD, GSL_RNG_RANDOM64_BSD,
38
38
  GSL_RNG_RANDOM128_BSD, GSL_RNG_RANDOM256_BSD,
39
- GSL_RNG_RANDOM_LIBC5, GSL_RNG_RANDOM8_LIBC5, GSL_RNG_RANDOM32_LIBC5,
40
- GSL_RNG_RANDOM64_LIBC5, GSL_RNG_RANDOM128_LIBC5, GSL_RNG_RANDOM256_LIBC5,
41
- GSL_RNG_RAND48,
42
- GSL_RNG_RAN0, GSL_RNG_RAN1, GSL_RNG_RAN2, GSL_RNG_RAN3,
39
+ GSL_RNG_RANDOM_LIBC5, GSL_RNG_RANDOM8_LIBC5, GSL_RNG_RANDOM32_LIBC5,
40
+ GSL_RNG_RANDOM64_LIBC5, GSL_RNG_RANDOM128_LIBC5, GSL_RNG_RANDOM256_LIBC5,
41
+ GSL_RNG_RAND48,
42
+ GSL_RNG_RAN0, GSL_RNG_RAN1, GSL_RNG_RAN2, GSL_RNG_RAN3,
43
43
  GSL_RNG_RANF, GSL_RNG_RANMAR, GSL_RNG_R250, GSL_RNG_TT800, GSL_RNG_VAX,
44
44
  GSL_RNG_TRANSPUTER, GSL_RNG_RANDU, GSL_RNG_MINSTD,
45
45
  GSL_RNG_UNI, GSL_RNG_UNI32, GSL_RNG_SLATEC, GSL_RNG_ZUF,
@@ -70,16 +70,16 @@ static VALUE rb_gsl_rng_alloc(int argc, VALUE *argv, VALUE klass)
70
70
  T = gsl_rng_default;
71
71
  seed = gsl_rng_default_seed;
72
72
  } else {
73
- T = get_gsl_rng_type(argv[0]);
73
+ T = get_gsl_rng_type(argv[0]);
74
74
  if (argc == 1) {
75
75
  seed = gsl_rng_default_seed;
76
76
  } else if (argc == 2) {
77
77
  itype = TYPE(argv[1]);
78
78
  if (itype == T_FIXNUM || itype == T_BIGNUM) {
79
- seed = FIX2INT(argv[1]);
79
+ seed = FIX2INT(argv[1]);
80
80
  } else {
81
- rb_raise(rb_eArgError,
82
- "bad argument 2, seed must be an integer.");
81
+ rb_raise(rb_eArgError,
82
+ "bad argument 2, seed must be an integer.");
83
83
  }
84
84
  } else {
85
85
  rb_raise(rb_eArgError, "too many arguments (%d for 0 or 1)", argc);
@@ -110,7 +110,6 @@ static const gsl_rng_type* get_gsl_rng_type_name(char *name)
110
110
  {
111
111
  if (str_tail_grep(name, "default") == 0) return gsl_rng_default;
112
112
  else if (str_tail_grep(name, "mt19937") == 0) return gsl_rng_mt19937;
113
- #ifdef GSL_1_1_LATER
114
113
  else if (str_tail_grep(name, "borosh13") == 0) return gsl_rng_borosh13;
115
114
  else if (str_tail_grep(name, "coveyou") == 0) return gsl_rng_coveyou;
116
115
  else if (str_tail_grep(name, "fishman18") == 0) return gsl_rng_fishman18;
@@ -120,15 +119,12 @@ static const gsl_rng_type* get_gsl_rng_type_name(char *name)
120
119
  else if (str_tail_grep(name, "waterman14") == 0) return gsl_rng_waterman14;
121
120
  else if (str_tail_grep(name, "knuthran") == 0) return gsl_rng_knuthran;
122
121
  else if (str_tail_grep(name, "knuthran2") == 0) return gsl_rng_knuthran2;
123
- #endif
124
- #ifdef GSL_1_2_LATER
125
122
  else if (str_tail_grep(name, "mt19937_1999") == 0) return gsl_rng_mt19937_1999;
126
123
  else if (str_tail_grep(name, "mt19937-1999") == 0) return gsl_rng_mt19937_1999;
127
- else if (str_tail_grep(name, "mt19937_1998") == 0) return gsl_rng_mt19937_1998;
128
- else if (str_tail_grep(name, "mt19937-1998") == 0) return gsl_rng_mt19937_1998;
124
+ else if (str_tail_grep(name, "mt19937_1998") == 0) return gsl_rng_mt19937_1998;
125
+ else if (str_tail_grep(name, "mt19937-1998") == 0) return gsl_rng_mt19937_1998;
129
126
  else if (str_tail_grep(name, "taus113") == 0) return gsl_rng_taus113;
130
127
  else if (str_tail_grep(name, "taus2") == 0) return gsl_rng_taus2;
131
- #endif
132
128
  else if (str_tail_grep(name, "mt19937") == 0) return gsl_rng_mt19937;
133
129
  else if (str_tail_grep(name, "ranlxs0") == 0) return gsl_rng_ranlxs0;
134
130
  else if (str_tail_grep(name, "ranlxs1") == 0) return gsl_rng_ranlxs1;
@@ -147,7 +143,7 @@ static const gsl_rng_type* get_gsl_rng_type_name(char *name)
147
143
  else if (str_tail_grep(name, "random32_libc5") == 0) return gsl_rng_random32_libc5;
148
144
  else if (str_tail_grep(name, "random64_libc5") == 0) return gsl_rng_random64_libc5;
149
145
  else if (str_tail_grep(name, "random128_libc5") == 0) return gsl_rng_random128_libc5;
150
- else if (str_tail_grep(name, "random256_libc5") == 0) return gsl_rng_random256_libc5;
146
+ else if (str_tail_grep(name, "random256_libc5") == 0) return gsl_rng_random256_libc5;
151
147
  else if (str_tail_grep(name, "random-libc5") == 0) return gsl_rng_random_libc5;
152
148
  else if (str_tail_grep(name, "random8-libc5") == 0) return gsl_rng_random8_libc5;
153
149
  else if (str_tail_grep(name, "random32-libc5") == 0) return gsl_rng_random32_libc5;
@@ -201,18 +197,16 @@ static const gsl_rng_type* get_gsl_rng_type_name(char *name)
201
197
  else if (str_tail_grep(name, "rngextra-rng1") == 0) return rngextra_rng1;
202
198
  else if (str_tail_grep(name, "rngextra-rng2") == 0) return rngextra_rng2;
203
199
  #else
204
- else if (str_tail_grep(name, "rngextra_rng1")*str_tail_grep(name, "rngextra_rng2") == 0)
200
+ else if (str_tail_grep(name, "rngextra_rng1")*str_tail_grep(name, "rngextra_rng2") == 0)
205
201
  rb_raise(rb_eNotImpError, "Install the rngextra package found at <http://www.network-theory.co.uk/download/rngextra/>.");
206
- else if (str_tail_grep(name, "rngextra_rng2")*str_tail_grep(name, "rngextra_rng2") == 0)
202
+ else if (str_tail_grep(name, "rngextra_rng2")*str_tail_grep(name, "rngextra_rng2") == 0)
207
203
  rb_raise(rb_eNotImpError, "Install the rngextra package found at <http://www.network-theory.co.uk/download/rngextra/>.");
208
- else if (str_tail_grep(name, "rngextra-rng1")*str_tail_grep(name, "rngextra_rng2") == 0)
204
+ else if (str_tail_grep(name, "rngextra-rng1")*str_tail_grep(name, "rngextra_rng2") == 0)
209
205
  rb_raise(rb_eNotImpError, "Install the rngextra package found at <http://www.network-theory.co.uk/download/rngextra/>.");
210
- else if (str_tail_grep(name, "rngextra-rng2")*str_tail_grep(name, "rngextra_rng2") == 0)
206
+ else if (str_tail_grep(name, "rngextra-rng2")*str_tail_grep(name, "rngextra_rng2") == 0)
211
207
  rb_raise(rb_eNotImpError, "Install the rngextra package found at <http://www.network-theory.co.uk/download/rngextra/>.");
212
208
  #endif
213
- #ifdef GSL_1_9_LATER
214
209
  else if (str_tail_grep(name, "knuthran2002") == 0) return gsl_rng_knuthran2002;
215
- #endif
216
210
  else
217
211
  rb_raise(rb_eArgError, "unknown generator type \"%s\"", name);
218
212
  }
@@ -224,12 +218,10 @@ static const gsl_rng_type* get_gsl_rng_type_int(int itype)
224
218
  switch (itype) {
225
219
  case GSL_RNG_DEFAULT: T = gsl_rng_default; break;
226
220
  case GSL_RNG_MT19937: T = gsl_rng_mt19937; break; /* default */
227
- #ifdef GSL_1_2_LATER
228
221
  case GSL_RNG_MT19937_1999: T = gsl_rng_mt19937_1999; break;
229
222
  case GSL_RNG_MT19937_1998: T = gsl_rng_mt19937_1998; break;
230
223
  case GSL_RNG_TAUS113: T = gsl_rng_taus113; break;
231
224
  case GSL_RNG_TAUS2: T = gsl_rng_taus2; break;
232
- #endif
233
225
  case GSL_RNG_RANLXS0: T = gsl_rng_ranlxs0; break;
234
226
  case GSL_RNG_RANLXS1: T = gsl_rng_ranlxs1; break;
235
227
  case GSL_RNG_RANLXS2: T = gsl_rng_ranlxs2; break;
@@ -277,7 +269,6 @@ static const gsl_rng_type* get_gsl_rng_type_int(int itype)
277
269
  case GSL_RNG_UNI32: T = gsl_rng_uni32; break;
278
270
  case GSL_RNG_SLATEC: T = gsl_rng_slatec; break;
279
271
  case GSL_RNG_ZUF: T = gsl_rng_zuf; break;
280
- #ifdef GSL_1_1_LATER
281
272
  case GSL_RNG_BOROSH13: T = gsl_rng_borosh13; break;
282
273
  case GSL_RNG_COVEYOU: T = gsl_rng_coveyou; break;
283
274
  case GSL_RNG_FISHMAN18: T = gsl_rng_fishman18; break;
@@ -287,7 +278,6 @@ static const gsl_rng_type* get_gsl_rng_type_int(int itype)
287
278
  case GSL_RNG_KNUTHRAN2: T = gsl_rng_knuthran2; break;
288
279
  case GSL_RNG_LECUYER21: T = gsl_rng_lecuyer21; break;
289
280
  case GSL_RNG_WATERMAN14: T = gsl_rng_waterman14; break;
290
- #endif
291
281
  #ifdef HAVE_RNGEXTRA_RNGEXTRA_H
292
282
  case GSL_RNGEXTRA_RNG1: T = rngextra_rng1; break;
293
283
  case GSL_RNGEXTRA_RNG2: T = rngextra_rng2; break;
@@ -297,14 +287,12 @@ static const gsl_rng_type* get_gsl_rng_type_int(int itype)
297
287
  rb_raise(rb_eNotImpError, "Install the rngextra package found at <http://www.network-theory.co.uk/download/rngextra/>.");
298
288
  break;
299
289
  #endif
300
- #ifdef GSL_1_9_LATER
301
290
  case GSL_RNG_KNUTHRAN2002: T = gsl_rng_knuthran2002; break;
302
- #endif
303
291
  default:
304
292
  rb_raise(rb_eTypeError, "wrong generator type");
305
293
  }
306
294
 
307
- return T;
295
+ return T;
308
296
  }
309
297
 
310
298
  static void rb_gsl_rng_define_const_type(VALUE module)
@@ -404,10 +392,10 @@ static VALUE rb_gsl_rng_set(VALUE obj, VALUE s)
404
392
 
405
393
  /*
406
394
  Document-method: <i>GSL::Rng#get</i>
407
- Returns a random integer from the generator.
408
- The minimum and maximum values depend on the algorithm used,
409
- but all integers in the range [min,max] are equally likely.
410
- The values of min and max can determined using the auxiliary
395
+ Returns a random integer from the generator.
396
+ The minimum and maximum values depend on the algorithm used,
397
+ but all integers in the range [min,max] are equally likely.
398
+ The values of min and max can determined using the auxiliary
411
399
  methodss GSL::Rng#max and GSL::Rng#min.
412
400
  */
413
401
  static VALUE rb_gsl_rng_get(int argc, VALUE *argv, VALUE obj)
@@ -533,7 +521,6 @@ static VALUE rb_gsl_rng_print_state(VALUE obj)
533
521
  return obj;
534
522
  }
535
523
 
536
- #ifdef GSL_1_4_LATER
537
524
  static VALUE rb_gsl_rng_fwrite(VALUE obj, VALUE io)
538
525
  {
539
526
  gsl_rng *h = NULL;
@@ -557,7 +544,6 @@ static VALUE rb_gsl_rng_fread(VALUE obj, VALUE io)
557
544
  if (flag == 1) fclose(f);
558
545
  return INT2FIX(status);
559
546
  }
560
- #endif
561
547
 
562
548
  static VALUE rb_gsl_rng_memcpy(VALUE obj, VALUE dst, VALUE org)
563
549
  {
@@ -574,7 +560,7 @@ void Init_gsl_rng(VALUE module)
574
560
  cgsl_rng = rb_define_class_under(module, "Rng", cGSL_Object);
575
561
 
576
562
  rb_gsl_rng_define_const_type(module);
577
-
563
+
578
564
  rb_define_singleton_method(cgsl_rng, "alloc", rb_gsl_rng_alloc, -1);
579
565
 
580
566
  rb_define_singleton_method(cgsl_rng, "default_seed", rb_gsl_rng_default_seed, 0);
@@ -603,9 +589,7 @@ void Init_gsl_rng(VALUE module)
603
589
  rb_define_alias(cgsl_rng, "duplicate", "clone");
604
590
  rb_define_method(cgsl_rng, "print_state", rb_gsl_rng_print_state, 0);
605
591
 
606
- #ifdef GSL_1_4_LATER
607
592
  rb_define_method(cgsl_rng, "fwrite", rb_gsl_rng_fwrite, 1);
608
593
  rb_define_method(cgsl_rng, "fread", rb_gsl_rng_fread, 1);
609
- #endif
610
594
  rb_define_singleton_method(cgsl_rng, "memcpy", rb_gsl_rng_memcpy, 2);
611
595
  }
@@ -2,7 +2,7 @@
2
2
  root.c
3
3
  Ruby/GSL: Ruby extension library for GSL (GNU Scientific Library)
4
4
  (C) Copyright 2004 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
@@ -42,8 +42,8 @@ static VALUE rb_gsl_fsolver_new(VALUE klass, VALUE t)
42
42
  } else if (!str_tail_grep(name, "brent")) {
43
43
  T = gsl_root_fsolver_brent;
44
44
  } else {
45
- rb_raise(rb_eTypeError,
46
- "type must be \"bisection\" or \"falsepos\", or \"brent\".");
45
+ rb_raise(rb_eTypeError,
46
+ "type must be \"bisection\" or \"falsepos\", or \"brent\".");
47
47
  }
48
48
  break;
49
49
  case T_FIXNUM:
@@ -64,7 +64,7 @@ static VALUE rb_gsl_fsolver_new(VALUE klass, VALUE t)
64
64
  break;
65
65
  default:
66
66
  rb_raise(rb_eTypeError, "wrong argument type %s (String or Fixnum expected)",
67
- rb_class2name(CLASS_OF(t)));
67
+ rb_class2name(CLASS_OF(t)));
68
68
  break;
69
69
  }
70
70
  s = gsl_root_fsolver_alloc(T);
@@ -124,28 +124,28 @@ static VALUE rb_gsl_fsolver_name(VALUE obj)
124
124
  static VALUE rb_gsl_fsolver_test_interval(VALUE obj, VALUE eabs, VALUE erel)
125
125
  {
126
126
  gsl_root_fsolver *s = NULL;
127
- Need_Float(eabs); Need_Float(erel);
127
+ Need_Float(eabs); Need_Float(erel);
128
128
  Data_Get_Struct(obj, gsl_root_fsolver, s);
129
129
  return INT2FIX(gsl_root_test_interval(s->x_lower, s->x_upper,
130
- NUM2DBL(eabs), NUM2DBL(erel)));
130
+ NUM2DBL(eabs), NUM2DBL(erel)));
131
131
  }
132
132
 
133
133
  static VALUE rb_gsl_root_test_interval(VALUE obj, VALUE xl, VALUE xu, VALUE eabs,
134
- VALUE erel)
134
+ VALUE erel)
135
135
  {
136
136
  Need_Float(xl); Need_Float(xu);
137
- Need_Float(eabs); Need_Float(erel);
137
+ Need_Float(eabs); Need_Float(erel);
138
138
  return INT2FIX(gsl_root_test_interval(NUM2DBL(xl), NUM2DBL(xu),
139
- NUM2DBL(eabs), NUM2DBL(erel)));
139
+ NUM2DBL(eabs), NUM2DBL(erel)));
140
140
  }
141
141
 
142
142
  static VALUE rb_gsl_root_test_delta(VALUE obj, VALUE xl, VALUE xu, VALUE eabs,
143
- VALUE erel)
143
+ VALUE erel)
144
144
  {
145
145
  Need_Float(xl); Need_Float(xu);
146
- Need_Float(eabs); Need_Float(erel);
146
+ Need_Float(eabs); Need_Float(erel);
147
147
  return INT2FIX(gsl_root_test_delta(NUM2DBL(xl), NUM2DBL(xu),
148
- NUM2DBL(eabs), NUM2DBL(erel)));
148
+ NUM2DBL(eabs), NUM2DBL(erel)));
149
149
  }
150
150
 
151
151
  static VALUE rb_gsl_root_test_residual(VALUE obj, VALUE xl,VALUE eabs)
@@ -154,7 +154,7 @@ static VALUE rb_gsl_root_test_residual(VALUE obj, VALUE xl,VALUE eabs)
154
154
  return INT2FIX(gsl_root_test_residual(NUM2DBL(xl), NUM2DBL(eabs)));
155
155
  }
156
156
 
157
- static VALUE rb_gsl_fsolver_solve(int argc, VALUE *argv, VALUE *obj)
157
+ static VALUE rb_gsl_fsolver_solve(int argc, VALUE *argv, VALUE obj)
158
158
  {
159
159
  gsl_root_fsolver *s = NULL;
160
160
  gsl_function *F = NULL;
@@ -165,15 +165,15 @@ static VALUE rb_gsl_fsolver_solve(int argc, VALUE *argv, VALUE *obj)
165
165
  Check_Type(argv[2], T_ARRAY);
166
166
  epsabs = NUM2DBL(rb_ary_entry(argv[2], 0));
167
167
  epsrel = NUM2DBL(rb_ary_entry(argv[2], 1));
168
- /* no break */
168
+ /* no break */
169
169
  case 2:
170
170
  Check_Type(argv[1], T_ARRAY);
171
171
  xl = NUM2DBL(rb_ary_entry(argv[1], 0));
172
172
  xh = NUM2DBL(rb_ary_entry(argv[1], 1));
173
173
  break;
174
174
  default:
175
- rb_raise(rb_eArgError,
176
- "Usage: solve(f = Function, range = Array, eps = Array)");
175
+ rb_raise(rb_eArgError,
176
+ "Usage: solve(f = Function, range = Array, eps = Array)");
177
177
  break;
178
178
  }
179
179
  CHECK_FUNCTION(argv[0]);
@@ -228,7 +228,7 @@ static VALUE rb_gsl_fdfsolver_new(VALUE klass, VALUE t)
228
228
  break;
229
229
  default:
230
230
  rb_raise(rb_eTypeError, "wrong argument type %s (String or Fixnum expected)",
231
- rb_class2name(CLASS_OF(t)));
231
+ rb_class2name(CLASS_OF(t)));
232
232
  break;
233
233
  }
234
234
  s = gsl_root_fdfsolver_alloc(T);
@@ -269,7 +269,7 @@ static VALUE rb_gsl_fdfsolver_name(VALUE obj)
269
269
  return rb_str_new2(gsl_root_fdfsolver_name(s));
270
270
  }
271
271
 
272
- static VALUE rb_gsl_fdfsolver_solve(int argc, VALUE *argv, VALUE *obj)
272
+ static VALUE rb_gsl_fdfsolver_solve(int argc, VALUE *argv, VALUE obj)
273
273
  {
274
274
  gsl_root_fdfsolver *s = NULL;
275
275
  double x = 0.0, x0, epsabs = 0.0, epsrel = 1e-6;
@@ -280,7 +280,7 @@ static VALUE rb_gsl_fdfsolver_solve(int argc, VALUE *argv, VALUE *obj)
280
280
  Check_Type(argv[2], T_ARRAY);
281
281
  epsabs = NUM2DBL(rb_ary_entry(argv[2], 0));
282
282
  epsrel = NUM2DBL(rb_ary_entry(argv[2], 1));
283
- /* no break */
283
+ /* no break */
284
284
  case 2:
285
285
  Need_Float(argv[1]);
286
286
  x0 = NUM2DBL(argv[1]);
@@ -292,7 +292,7 @@ static VALUE rb_gsl_fdfsolver_solve(int argc, VALUE *argv, VALUE *obj)
292
292
  CHECK_FUNCTION_FDF(argv[0]);
293
293
  Data_Get_Struct(argv[0], gsl_function_fdf, F);
294
294
  Data_Get_Struct(obj, gsl_root_fdfsolver, s);
295
- gsl_root_fdfsolver_set(s, F, x0);
295
+ gsl_root_fdfsolver_set(s, F, x0);
296
296
  do {
297
297
  iter++;
298
298
  status = gsl_root_fdfsolver_iterate (s);
@@ -361,32 +361,32 @@ void Init_gsl_root(VALUE module)
361
361
  mgsl_root = rb_define_module_under(module, "Root");
362
362
 
363
363
  cgsl_fsolver = rb_define_class_under(mgsl_root, "FSolver", cGSL_Object);
364
- rb_define_singleton_method(cgsl_fsolver, "alloc", rb_gsl_fsolver_new, 1);
365
-
366
- rb_define_method(cgsl_fsolver, "set", rb_gsl_fsolver_set, 3);
367
- rb_define_method(cgsl_fsolver, "iterate", rb_gsl_fsolver_iterate, 0);
368
- rb_define_method(cgsl_fsolver, "root", rb_gsl_fsolver_root, 0);
369
- rb_define_method(cgsl_fsolver, "name", rb_gsl_fsolver_name, 0);
370
- rb_define_method(cgsl_fsolver, "x_lower", rb_gsl_fsolver_x_lower, 0);
371
- rb_define_method(cgsl_fsolver, "x_upper", rb_gsl_fsolver_x_upper, 0);
372
- rb_define_method(cgsl_fsolver, "test_interval", rb_gsl_fsolver_test_interval, 2);
373
- rb_define_method(cgsl_fsolver, "solve", rb_gsl_fsolver_solve, -1);
374
-
375
- rb_define_singleton_method(mgsl_root, "test_interval",
376
- rb_gsl_root_test_interval, 4);
377
- rb_define_singleton_method(mgsl_root, "test_delta",
378
- rb_gsl_root_test_delta, 4);
379
- rb_define_singleton_method(mgsl_root, "test_residual",
380
- rb_gsl_root_test_residual, 2);
364
+ rb_define_singleton_method(cgsl_fsolver, "alloc", rb_gsl_fsolver_new, 1);
365
+
366
+ rb_define_method(cgsl_fsolver, "set", rb_gsl_fsolver_set, 3);
367
+ rb_define_method(cgsl_fsolver, "iterate", rb_gsl_fsolver_iterate, 0);
368
+ rb_define_method(cgsl_fsolver, "root", rb_gsl_fsolver_root, 0);
369
+ rb_define_method(cgsl_fsolver, "name", rb_gsl_fsolver_name, 0);
370
+ rb_define_method(cgsl_fsolver, "x_lower", rb_gsl_fsolver_x_lower, 0);
371
+ rb_define_method(cgsl_fsolver, "x_upper", rb_gsl_fsolver_x_upper, 0);
372
+ rb_define_method(cgsl_fsolver, "test_interval", rb_gsl_fsolver_test_interval, 2);
373
+ rb_define_method(cgsl_fsolver, "solve", rb_gsl_fsolver_solve, -1);
374
+
375
+ rb_define_singleton_method(mgsl_root, "test_interval",
376
+ rb_gsl_root_test_interval, 4);
377
+ rb_define_singleton_method(mgsl_root, "test_delta",
378
+ rb_gsl_root_test_delta, 4);
379
+ rb_define_singleton_method(mgsl_root, "test_residual",
380
+ rb_gsl_root_test_residual, 2);
381
381
 
382
382
  cgsl_fdfsolver = rb_define_class_under(mgsl_root, "FdfSolver", cGSL_Object);
383
- rb_define_singleton_method(cgsl_fdfsolver, "alloc", rb_gsl_fdfsolver_new, 1);
383
+ rb_define_singleton_method(cgsl_fdfsolver, "alloc", rb_gsl_fdfsolver_new, 1);
384
384
 
385
- rb_define_method(cgsl_fdfsolver, "set", rb_gsl_fdfsolver_set, 2);
386
- rb_define_method(cgsl_fdfsolver, "iterate", rb_gsl_fdfsolver_iterate, 0);
387
- rb_define_method(cgsl_fdfsolver, "root", rb_gsl_fdfsolver_root, 0);
388
- rb_define_method(cgsl_fdfsolver, "name", rb_gsl_fdfsolver_name, 0);
389
- rb_define_method(cgsl_fdfsolver, "solve", rb_gsl_fdfsolver_solve, -1);
385
+ rb_define_method(cgsl_fdfsolver, "set", rb_gsl_fdfsolver_set, 2);
386
+ rb_define_method(cgsl_fdfsolver, "iterate", rb_gsl_fdfsolver_iterate, 0);
387
+ rb_define_method(cgsl_fdfsolver, "root", rb_gsl_fdfsolver_root, 0);
388
+ rb_define_method(cgsl_fdfsolver, "name", rb_gsl_fdfsolver_name, 0);
389
+ rb_define_method(cgsl_fdfsolver, "solve", rb_gsl_fdfsolver_solve, -1);
390
390
 
391
391
  rb_define_method(cgsl_function, "fsolve", rb_gsl_function_rootfinder, -1);
392
392
  rb_define_alias(cgsl_function, "solve", "fsolve");
@@ -12,9 +12,6 @@
12
12
 
13
13
  #include "include/rb_gsl_array.h"
14
14
  #include "include/rb_gsl_sf.h"
15
- #ifdef HAVE_NARRAY_H
16
- #include "narray.h"
17
- #endif
18
15
 
19
16
  VALUE cgsl_sf_result, cgsl_sf_result_e10;
20
17
 
@@ -154,10 +151,6 @@ VALUE rb_gsl_sf_eval_int_double(double (*func)(int, double), VALUE jj, VALUE arg
154
151
  VALUE ary, xx;
155
152
  size_t i, j, k, n;
156
153
  double val;
157
- #ifdef HAVE_NARRAY_H
158
- double *ptr1, *ptr2;
159
- struct NARRAY *na;
160
- #endif
161
154
  CHECK_FIXNUM(jj);
162
155
  j = FIX2INT(jj);
163
156
  if (CLASS_OF(argv) == rb_cRange) argv = rb_gsl_range2ary(argv);
@@ -181,6 +174,8 @@ VALUE rb_gsl_sf_eval_int_double(double (*func)(int, double), VALUE jj, VALUE arg
181
174
  default:
182
175
  #ifdef HAVE_NARRAY_H
183
176
  if (NA_IsNArray(argv)) {
177
+ double *ptr1, *ptr2;
178
+ struct NARRAY *na;
184
179
  argv = na_change_type(argv, NA_DFLOAT);
185
180
  ptr1 = NA_PTR_TYPE(argv, double*);
186
181
  GetNArray(argv, na);
@@ -195,10 +190,10 @@ VALUE rb_gsl_sf_eval_int_double(double (*func)(int, double), VALUE jj, VALUE arg
195
190
  Data_Get_Struct(argv, gsl_matrix, m);
196
191
  mnew = gsl_matrix_alloc(m->size1, m->size2);
197
192
  for (i = 0; i < m->size1; i++) {
198
- for (k = 0; k < m->size2; k++) {
199
- val = (*func)(j, gsl_matrix_get(m, i, k));
200
- gsl_matrix_set(mnew, i, k, val);
201
- }
193
+ for (k = 0; k < m->size2; k++) {
194
+ val = (*func)(j, gsl_matrix_get(m, i, k));
195
+ gsl_matrix_set(mnew, i, k, val);
196
+ }
202
197
  }
203
198
  return Data_Wrap_Struct(cgsl_matrix, 0, gsl_matrix_free, mnew);
204
199
  } else {
@@ -207,8 +202,8 @@ VALUE rb_gsl_sf_eval_int_double(double (*func)(int, double), VALUE jj, VALUE arg
207
202
  n = v->size;
208
203
  vnew = gsl_vector_alloc(n);
209
204
  for (i = 0; i < n; i++) {
210
- val = (*func)(j, gsl_vector_get(v, i));
211
- gsl_vector_set(vnew, i, val);
205
+ val = (*func)(j, gsl_vector_get(v, i));
206
+ gsl_vector_set(vnew, i, val);
212
207
  }
213
208
  return Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, vnew);
214
209
  }
@@ -223,10 +218,6 @@ VALUE rb_gsl_sf_eval_double_int(double (*func)(double, int), VALUE argv, VALUE j
223
218
  VALUE ary, xx;
224
219
  size_t i, j, k, n;
225
220
  double val;
226
- #ifdef HAVE_NARRAY_H
227
- double *ptr1, *ptr2;
228
- struct NARRAY *na;
229
- #endif
230
221
  CHECK_FIXNUM(jj);
231
222
  j = FIX2INT(jj);
232
223
  if (CLASS_OF(argv) == rb_cRange) argv = rb_gsl_range2ary(argv);
@@ -250,6 +241,8 @@ VALUE rb_gsl_sf_eval_double_int(double (*func)(double, int), VALUE argv, VALUE j
250
241
  default:
251
242
  #ifdef HAVE_NARRAY_H
252
243
  if (NA_IsNArray(argv)) {
244
+ double *ptr1, *ptr2;
245
+ struct NARRAY *na;
253
246
  argv = na_change_type(argv, NA_DFLOAT);
254
247
  ptr1 = NA_PTR_TYPE(argv, double*);
255
248
  GetNArray(argv, na);
@@ -264,10 +257,10 @@ VALUE rb_gsl_sf_eval_double_int(double (*func)(double, int), VALUE argv, VALUE j
264
257
  Data_Get_Struct(argv, gsl_matrix, m);
265
258
  mnew = gsl_matrix_alloc(m->size1, m->size2);
266
259
  for (i = 0; i < m->size1; i++) {
267
- for (k = 0; k < m->size2; k++) {
268
- val = (*func)(gsl_matrix_get(m, i, k), j);
269
- gsl_matrix_set(mnew, i, k, val);
270
- }
260
+ for (k = 0; k < m->size2; k++) {
261
+ val = (*func)(gsl_matrix_get(m, i, k), j);
262
+ gsl_matrix_set(mnew, i, k, val);
263
+ }
271
264
  }
272
265
  return Data_Wrap_Struct(cgsl_matrix, 0, gsl_matrix_free, mnew);
273
266
  } else {
@@ -276,8 +269,8 @@ VALUE rb_gsl_sf_eval_double_int(double (*func)(double, int), VALUE argv, VALUE j
276
269
  n = v->size;
277
270
  vnew = gsl_vector_alloc(n);
278
271
  for (i = 0; i < n; i++) {
279
- val = (*func)(gsl_vector_get(v, i), j);
280
- gsl_vector_set(vnew, i, val);
272
+ val = (*func)(gsl_vector_get(v, i), j);
273
+ gsl_vector_set(vnew, i, val);
281
274
  }
282
275
  return Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, vnew);
283
276
  }
@@ -287,17 +280,13 @@ VALUE rb_gsl_sf_eval_double_int(double (*func)(double, int), VALUE argv, VALUE j
287
280
  }
288
281
 
289
282
  VALUE rb_gsl_sf_eval_int_int_double(double (*func)(int, int, double), VALUE jj,
290
- VALUE jj2, VALUE argv)
283
+ VALUE jj2, VALUE argv)
291
284
  {
292
285
  gsl_vector *v = NULL, *vnew = NULL;
293
286
  gsl_matrix *m = NULL, *mnew = NULL;
294
287
  VALUE ary, xx;
295
288
  size_t i, j, k, j2, n;
296
289
  double val;
297
- #ifdef HAVE_NARRAY_H
298
- double *ptr1, *ptr2;
299
- struct NARRAY *na;
300
- #endif
301
290
  CHECK_FIXNUM(jj); CHECK_FIXNUM(jj2);
302
291
  j = FIX2INT(jj);
303
292
  j2 = FIX2INT(jj2);
@@ -322,6 +311,8 @@ VALUE rb_gsl_sf_eval_int_int_double(double (*func)(int, int, double), VALUE jj,
322
311
  default:
323
312
  #ifdef HAVE_NARRAY_H
324
313
  if (NA_IsNArray(argv)) {
314
+ double *ptr1, *ptr2;
315
+ struct NARRAY *na;
325
316
  argv = na_change_type(argv, NA_DFLOAT);
326
317
  ptr1 = NA_PTR_TYPE(argv, double*);
327
318
  GetNArray(argv, na);
@@ -357,18 +348,14 @@ VALUE rb_gsl_sf_eval_int_int_double(double (*func)(int, int, double), VALUE jj,
357
348
  }
358
349
  }
359
350
 
360
- VALUE rb_gsl_sf_eval_int_double_double(double (*func)(int, double, double), VALUE jj,
361
- VALUE ff, VALUE argv)
351
+ VALUE rb_gsl_sf_eval_int_double_double(double (*func)(int, double, double), VALUE jj,
352
+ VALUE ff, VALUE argv)
362
353
  {
363
354
  gsl_vector *v = NULL, *vnew = NULL;
364
355
  gsl_matrix *m = NULL, *mnew = NULL;
365
356
  VALUE ary, xx;
366
357
  size_t i, j, k, n;
367
358
  double f, val;
368
- #ifdef HAVE_NARRAY_H
369
- double *ptr1, *ptr2;
370
- struct NARRAY *na;
371
- #endif
372
359
  CHECK_FIXNUM(jj);
373
360
  Need_Float(ff);
374
361
  j = FIX2INT(jj);
@@ -394,6 +381,8 @@ VALUE rb_gsl_sf_eval_int_double_double(double (*func)(int, double, double), VALU
394
381
  default:
395
382
  #ifdef HAVE_NARRAY_H
396
383
  if (NA_IsNArray(argv)) {
384
+ double *ptr1, *ptr2;
385
+ struct NARRAY *na;
397
386
  argv = na_change_type(argv, NA_DFLOAT);
398
387
  ptr1 = NA_PTR_TYPE(argv, double*);
399
388
  GetNArray(argv, na);
@@ -408,10 +397,10 @@ VALUE rb_gsl_sf_eval_int_double_double(double (*func)(int, double, double), VALU
408
397
  Data_Get_Struct(argv, gsl_matrix, m);
409
398
  mnew = gsl_matrix_alloc(m->size1, m->size2);
410
399
  for (i = 0; i < m->size1; i++) {
411
- for (k = 0; k < m->size2; k++) {
412
- val = (*func)(j, f, gsl_matrix_get(m, i, k));
413
- gsl_matrix_set(mnew, i, k, val);
414
- }
400
+ for (k = 0; k < m->size2; k++) {
401
+ val = (*func)(j, f, gsl_matrix_get(m, i, k));
402
+ gsl_matrix_set(mnew, i, k, val);
403
+ }
415
404
  }
416
405
  return Data_Wrap_Struct(cgsl_matrix, 0, gsl_matrix_free, mnew);
417
406
  } else {
@@ -420,8 +409,8 @@ VALUE rb_gsl_sf_eval_int_double_double(double (*func)(int, double, double), VALU
420
409
  n = v->size;
421
410
  vnew = gsl_vector_alloc(n);
422
411
  for (i = 0; i < n; i++) {
423
- val = (*func)(j, f, gsl_vector_get(v, i));
424
- gsl_vector_set(vnew, i, val);
412
+ val = (*func)(j, f, gsl_vector_get(v, i));
413
+ gsl_vector_set(vnew, i, val);
425
414
  }
426
415
  return Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, vnew);
427
416
  }
@@ -436,10 +425,6 @@ VALUE rb_gsl_sf_eval_double_double(double (*func)(double, double), VALUE ff, VAL
436
425
  VALUE ary, xx;
437
426
  size_t i, k, n;
438
427
  double val, f;
439
- #ifdef HAVE_NARRAY_H
440
- double *ptr1, *ptr2;
441
- struct NARRAY *na;
442
- #endif
443
428
  Need_Float(ff);
444
429
  f = NUM2DBL(ff);
445
430
  if (CLASS_OF(argv) == rb_cRange) argv = rb_gsl_range2ary(argv);
@@ -463,6 +448,8 @@ VALUE rb_gsl_sf_eval_double_double(double (*func)(double, double), VALUE ff, VAL
463
448
  default:
464
449
  #ifdef HAVE_NARRAY_H
465
450
  if (NA_IsNArray(argv)) {
451
+ double *ptr1, *ptr2;
452
+ struct NARRAY *na;
466
453
  argv = na_change_type(argv, NA_DFLOAT);
467
454
  ptr1 = NA_PTR_TYPE(argv, double*);
468
455
  GetNArray(argv, na);
@@ -477,9 +464,9 @@ VALUE rb_gsl_sf_eval_double_double(double (*func)(double, double), VALUE ff, VAL
477
464
  Data_Get_Struct(argv, gsl_matrix, m);
478
465
  mnew = gsl_matrix_alloc(m->size1, m->size2);
479
466
  for (i = 0; i < m->size1; i++) {
480
- for (k = 0; k < m->size2; k++) {
481
- gsl_matrix_set(mnew, i, k, (*func)(f, gsl_matrix_get(m, i, k)));
482
- }
467
+ for (k = 0; k < m->size2; k++) {
468
+ gsl_matrix_set(mnew, i, k, (*func)(f, gsl_matrix_get(m, i, k)));
469
+ }
483
470
  }
484
471
  return Data_Wrap_Struct(cgsl_matrix, 0, gsl_matrix_free, mnew);
485
472
  } else {
@@ -487,7 +474,7 @@ VALUE rb_gsl_sf_eval_double_double(double (*func)(double, double), VALUE ff, VAL
487
474
  Data_Get_Struct(argv, gsl_vector, v);
488
475
  vnew = gsl_vector_alloc(v->size);
489
476
  for (i = 0; i < v->size; i++) {
490
- gsl_vector_set(vnew, i, (*func)(f, gsl_vector_get(v, i)));
477
+ gsl_vector_set(vnew, i, (*func)(f, gsl_vector_get(v, i)));
491
478
  }
492
479
  return Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, vnew);
493
480
  }
@@ -495,18 +482,14 @@ VALUE rb_gsl_sf_eval_double_double(double (*func)(double, double), VALUE ff, VAL
495
482
  }
496
483
  }
497
484
 
498
- VALUE rb_gsl_sf_eval_double3(double (*func)(double, double, double),
499
- VALUE ff, VALUE ff2, VALUE argv)
485
+ VALUE rb_gsl_sf_eval_double3(double (*func)(double, double, double),
486
+ VALUE ff, VALUE ff2, VALUE argv)
500
487
  {
501
488
  gsl_vector *v = NULL, *vnew = NULL;
502
489
  gsl_matrix *m = NULL, *mnew = NULL;
503
490
  VALUE ary, xx;
504
491
  size_t i, k, n;
505
492
  double val, f, f2;
506
- #ifdef HAVE_NARRAY_H
507
- double *ptr1, *ptr2;
508
- struct NARRAY *na;
509
- #endif
510
493
  Need_Float(ff); Need_Float(ff2);
511
494
  f = NUM2DBL(ff);
512
495
  f2 = NUM2DBL(ff2);
@@ -531,6 +514,8 @@ VALUE rb_gsl_sf_eval_double3(double (*func)(double, double, double),
531
514
  default:
532
515
  #ifdef HAVE_NARRAY_H
533
516
  if (NA_IsNArray(argv)) {
517
+ double *ptr1, *ptr2;
518
+ struct NARRAY *na;
534
519
  argv = na_change_type(argv, NA_DFLOAT);
535
520
  ptr1 = NA_PTR_TYPE(argv, double*);
536
521
  GetNArray(argv, na);
@@ -545,10 +530,10 @@ VALUE rb_gsl_sf_eval_double3(double (*func)(double, double, double),
545
530
  Data_Get_Struct(argv, gsl_matrix, m);
546
531
  mnew = gsl_matrix_alloc(m->size1, m->size2);
547
532
  for (i = 0; i < m->size1; i++) {
548
- for (k = 0; k < m->size2; k++) {
549
- val = (*func)(f, f2, gsl_matrix_get(m, i, k));
550
- gsl_matrix_set(mnew, i, k, val);
551
- }
533
+ for (k = 0; k < m->size2; k++) {
534
+ val = (*func)(f, f2, gsl_matrix_get(m, i, k));
535
+ gsl_matrix_set(mnew, i, k, val);
536
+ }
552
537
  }
553
538
  return Data_Wrap_Struct(cgsl_matrix, 0, gsl_matrix_free, mnew);
554
539
  } else {
@@ -557,8 +542,8 @@ VALUE rb_gsl_sf_eval_double3(double (*func)(double, double, double),
557
542
  n = v->size;
558
543
  vnew = gsl_vector_alloc(n);
559
544
  for (i = 0; i < n; i++) {
560
- val = (*func)(f, f2, gsl_vector_get(v, i));
561
- gsl_vector_set(vnew, i, val);
545
+ val = (*func)(f, f2, gsl_vector_get(v, i));
546
+ gsl_vector_set(vnew, i, val);
562
547
  }
563
548
  return Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, vnew);
564
549
  }
@@ -566,18 +551,14 @@ VALUE rb_gsl_sf_eval_double3(double (*func)(double, double, double),
566
551
  }
567
552
  }
568
553
 
569
- VALUE rb_gsl_sf_eval_double4(double (*func)(double, double, double, double),
570
- VALUE ff, VALUE ff2, VALUE ff3, VALUE argv)
554
+ VALUE rb_gsl_sf_eval_double4(double (*func)(double, double, double, double),
555
+ VALUE ff, VALUE ff2, VALUE ff3, VALUE argv)
571
556
  {
572
557
  gsl_vector *v = NULL, *vnew = NULL;
573
558
  gsl_matrix *m = NULL, *mnew = NULL;
574
559
  VALUE ary, xx;
575
560
  size_t i, k, n;
576
561
  double val, f, f2, f3;
577
- #ifdef HAVE_NARRAY_H
578
- double *ptr1, *ptr2;
579
- struct NARRAY *na;
580
- #endif
581
562
  Need_Float(ff); Need_Float(ff2); Need_Float(ff3);
582
563
  f = NUM2DBL(ff);
583
564
  f2 = NUM2DBL(ff2);
@@ -603,6 +584,8 @@ VALUE rb_gsl_sf_eval_double4(double (*func)(double, double, double, double),
603
584
  default:
604
585
  #ifdef HAVE_NARRAY_H
605
586
  if (NA_IsNArray(argv)) {
587
+ double *ptr1, *ptr2;
588
+ struct NARRAY *na;
606
589
  argv = na_change_type(argv, NA_DFLOAT);
607
590
  ptr1 = NA_PTR_TYPE(argv, double*);
608
591
  GetNArray(argv, na);
@@ -617,10 +600,10 @@ VALUE rb_gsl_sf_eval_double4(double (*func)(double, double, double, double),
617
600
  Data_Get_Struct(argv, gsl_matrix, m);
618
601
  mnew = gsl_matrix_alloc(m->size1, m->size2);
619
602
  for (i = 0; i < m->size1; i++) {
620
- for (k = 0; k < m->size2; k++) {
621
- val = (*func)(f, f2, f3, gsl_matrix_get(m, i, k));
622
- gsl_matrix_set(mnew, i, k, val);
623
- }
603
+ for (k = 0; k < m->size2; k++) {
604
+ val = (*func)(f, f2, f3, gsl_matrix_get(m, i, k));
605
+ gsl_matrix_set(mnew, i, k, val);
606
+ }
624
607
  }
625
608
  return Data_Wrap_Struct(cgsl_matrix, 0, gsl_matrix_free, mnew);
626
609
  } else {
@@ -629,8 +612,8 @@ VALUE rb_gsl_sf_eval_double4(double (*func)(double, double, double, double),
629
612
  n = v->size;
630
613
  vnew = gsl_vector_alloc(n);
631
614
  for (i = 0; i < n; i++) {
632
- val = (*func)(f, f2, f3, gsl_vector_get(v, i));
633
- gsl_vector_set(vnew, i, val);
615
+ val = (*func)(f, f2, f3, gsl_vector_get(v, i));
616
+ gsl_vector_set(vnew, i, val);
634
617
  }
635
618
  return Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, vnew);
636
619
  }
@@ -645,10 +628,6 @@ VALUE rb_gsl_sf_eval1_int(double (*func)(int), VALUE argv)
645
628
  VALUE ary;
646
629
  size_t i, k, n;
647
630
  double val;
648
- #ifdef HAVE_NARRAY_H
649
- double *ptr1, *ptr2;
650
- struct NARRAY *na;
651
- #endif
652
631
  if (CLASS_OF(argv) == rb_cRange) argv = rb_gsl_range2ary(argv);
653
632
  switch (TYPE(argv)) {
654
633
  case T_FIXNUM:
@@ -668,6 +647,8 @@ VALUE rb_gsl_sf_eval1_int(double (*func)(int), VALUE argv)
668
647
  default:
669
648
  #ifdef HAVE_NARRAY_H
670
649
  if (NA_IsNArray(argv)) {
650
+ double *ptr1, *ptr2;
651
+ struct NARRAY *na;
671
652
  argv = na_change_type(argv, NA_DFLOAT);
672
653
  ptr1 = NA_PTR_TYPE(argv, double*);
673
654
  GetNArray(argv, na);
@@ -682,10 +663,10 @@ VALUE rb_gsl_sf_eval1_int(double (*func)(int), VALUE argv)
682
663
  Data_Get_Struct(argv, gsl_matrix, m);
683
664
  mnew = gsl_matrix_alloc(m->size1, m->size2);
684
665
  for (i = 0; i < m->size1; i++) {
685
- for (k = 0; k < m->size2; k++) {
686
- val = (*func)((int) gsl_matrix_get(m, i, k));
687
- gsl_matrix_set(mnew, i, k, val);
688
- }
666
+ for (k = 0; k < m->size2; k++) {
667
+ val = (*func)((int) gsl_matrix_get(m, i, k));
668
+ gsl_matrix_set(mnew, i, k, val);
669
+ }
689
670
  }
690
671
  return Data_Wrap_Struct(cgsl_matrix, 0, gsl_matrix_free, mnew);
691
672
  } else {
@@ -694,8 +675,8 @@ VALUE rb_gsl_sf_eval1_int(double (*func)(int), VALUE argv)
694
675
  n = v->size;
695
676
  vnew = gsl_vector_alloc(n);
696
677
  for (i = 0; i < n; i++) {
697
- val = (*func)((int) gsl_vector_get(v, i));
698
- gsl_vector_set(vnew, i, val);
678
+ val = (*func)((int) gsl_vector_get(v, i));
679
+ gsl_vector_set(vnew, i, val);
699
680
  }
700
681
  return Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, vnew);
701
682
  }
@@ -710,10 +691,6 @@ VALUE rb_gsl_sf_eval1_uint(double (*func)(unsigned int), VALUE argv)
710
691
  VALUE ary;
711
692
  size_t i, k, n;
712
693
  double val;
713
- #ifdef HAVE_NARRAY_H
714
- double *ptr1, *ptr2;
715
- struct NARRAY *na;
716
- #endif
717
694
  if (CLASS_OF(argv) == rb_cRange) argv = rb_gsl_range2ary(argv);
718
695
  switch (TYPE(argv)) {
719
696
  case T_FIXNUM:
@@ -733,6 +710,8 @@ VALUE rb_gsl_sf_eval1_uint(double (*func)(unsigned int), VALUE argv)
733
710
  default:
734
711
  #ifdef HAVE_NARRAY_H
735
712
  if (NA_IsNArray(argv)) {
713
+ double *ptr1, *ptr2;
714
+ struct NARRAY *na;
736
715
  argv = na_change_type(argv, NA_DFLOAT);
737
716
  ptr1 = NA_PTR_TYPE(argv, double*);
738
717
  GetNArray(argv, na);
@@ -747,10 +726,10 @@ VALUE rb_gsl_sf_eval1_uint(double (*func)(unsigned int), VALUE argv)
747
726
  Data_Get_Struct(argv, gsl_matrix, m);
748
727
  mnew = gsl_matrix_alloc(m->size1, m->size2);
749
728
  for (i = 0; i < m->size1; i++) {
750
- for (k = 0; k < m->size2; k++) {
751
- val = (*func)((unsigned int) gsl_matrix_get(m, i, k));
752
- gsl_matrix_set(mnew, i, k, val);
753
- }
729
+ for (k = 0; k < m->size2; k++) {
730
+ val = (*func)((unsigned int) gsl_matrix_get(m, i, k));
731
+ gsl_matrix_set(mnew, i, k, val);
732
+ }
754
733
  }
755
734
  return Data_Wrap_Struct(cgsl_matrix, 0, gsl_matrix_free, mnew);
756
735
  } else {
@@ -759,8 +738,8 @@ VALUE rb_gsl_sf_eval1_uint(double (*func)(unsigned int), VALUE argv)
759
738
  n = v->size;
760
739
  vnew = gsl_vector_alloc(n);
761
740
  for (i = 0; i < n; i++) {
762
- val = (*func)((unsigned int) gsl_vector_get(v, i));
763
- gsl_vector_set(vnew, i, val);
741
+ val = (*func)((unsigned int) gsl_vector_get(v, i));
742
+ gsl_vector_set(vnew, i, val);
764
743
  }
765
744
  return Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, vnew);
766
745
  }
@@ -777,10 +756,6 @@ VALUE rb_gsl_sf_eval_double_m(double (*func)(double, gsl_mode_t), VALUE argv, VA
777
756
  double val;
778
757
  /*gsl_mode_t mode;
779
758
  char c;*/
780
- #ifdef HAVE_NARRAY_H
781
- double *ptr1, *ptr2;
782
- struct NARRAY *na;
783
- #endif
784
759
  switch (TYPE(m)) {
785
760
  case T_STRING:
786
761
  /*c = tolower(NUM2CHR(m));
@@ -794,7 +769,7 @@ VALUE rb_gsl_sf_eval_double_m(double (*func)(double, gsl_mode_t), VALUE argv, VA
794
769
  break;
795
770
  default:
796
771
  rb_raise(rb_eArgError, "wrong type argument %s (String or Fixnum expected)",
797
- rb_class2name(CLASS_OF(m)));
772
+ rb_class2name(CLASS_OF(m)));
798
773
  }
799
774
  if (CLASS_OF(argv) == rb_cRange) argv = rb_gsl_range2ary(argv);
800
775
  switch (TYPE(argv)) {
@@ -817,6 +792,8 @@ VALUE rb_gsl_sf_eval_double_m(double (*func)(double, gsl_mode_t), VALUE argv, VA
817
792
  default:
818
793
  #ifdef HAVE_NARRAY_H
819
794
  if (NA_IsNArray(argv)) {
795
+ double *ptr1, *ptr2;
796
+ struct NARRAY *na;
820
797
  ptr1 = NA_PTR_TYPE(argv, double*);
821
798
  GetNArray(argv, na);
822
799
  n = na->total;
@@ -830,10 +807,10 @@ VALUE rb_gsl_sf_eval_double_m(double (*func)(double, gsl_mode_t), VALUE argv, VA
830
807
  Data_Get_Struct(argv, gsl_matrix, mm);
831
808
  mnew = gsl_matrix_alloc(mm->size1, mm->size2);
832
809
  for (i = 0; i < mm->size1; i++) {
833
- for (k = 0; k < mm->size2; k++) {
834
- val = (*func)(gsl_matrix_get(mm, i, k), m);
835
- gsl_matrix_set(mnew, i, k, val);
836
- }
810
+ for (k = 0; k < mm->size2; k++) {
811
+ val = (*func)(gsl_matrix_get(mm, i, k), m);
812
+ gsl_matrix_set(mnew, i, k, val);
813
+ }
837
814
  }
838
815
  return Data_Wrap_Struct(cgsl_matrix, 0, gsl_matrix_free, mnew);
839
816
  } else {
@@ -842,8 +819,8 @@ VALUE rb_gsl_sf_eval_double_m(double (*func)(double, gsl_mode_t), VALUE argv, VA
842
819
  n = v->size;
843
820
  vnew = gsl_vector_alloc(n);
844
821
  for (i = 0; i < n; i++) {
845
- val = (*func)(gsl_vector_get(v, i), m);
846
- gsl_vector_set(vnew, i, val);
822
+ val = (*func)(gsl_vector_get(v, i), m);
823
+ gsl_vector_set(vnew, i, val);
847
824
  }
848
825
  return Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, vnew);
849
826
  }
@@ -851,8 +828,8 @@ VALUE rb_gsl_sf_eval_double_m(double (*func)(double, gsl_mode_t), VALUE argv, VA
851
828
  }
852
829
  }
853
830
 
854
- VALUE rb_gsl_sf_eval_double2_m(double (*func)(double, double, gsl_mode_t),
855
- VALUE argv, VALUE x2, VALUE m)
831
+ VALUE rb_gsl_sf_eval_double2_m(double (*func)(double, double, gsl_mode_t),
832
+ VALUE argv, VALUE x2, VALUE m)
856
833
  {
857
834
  gsl_vector *v = NULL, *vnew = NULL;
858
835
  gsl_matrix *mm = NULL, *mnew = NULL;
@@ -861,10 +838,6 @@ VALUE rb_gsl_sf_eval_double2_m(double (*func)(double, double, gsl_mode_t),
861
838
  double val, xx2;
862
839
  /*gsl_mode_t mode;
863
840
  char c;*/
864
- #ifdef HAVE_NARRAY_H
865
- double *ptr1, *ptr2;
866
- struct NARRAY *na;
867
- #endif
868
841
  Need_Float(x2);
869
842
  xx2 = NUM2DBL(x2);
870
843
  /*c = tolower(NUM2CHR(m));
@@ -893,6 +866,8 @@ VALUE rb_gsl_sf_eval_double2_m(double (*func)(double, double, gsl_mode_t),
893
866
  default:
894
867
  #ifdef HAVE_NARRAY_H
895
868
  if (NA_IsNArray(argv)) {
869
+ double *ptr1, *ptr2;
870
+ struct NARRAY *na;
896
871
  ptr1 = NA_PTR_TYPE(argv, double*);
897
872
  GetNArray(argv, na);
898
873
  n = na->total;
@@ -906,10 +881,10 @@ VALUE rb_gsl_sf_eval_double2_m(double (*func)(double, double, gsl_mode_t),
906
881
  Data_Get_Struct(argv, gsl_matrix, mm);
907
882
  mnew = gsl_matrix_alloc(mm->size1, mm->size2);
908
883
  for (i = 0; i < mm->size1; i++) {
909
- for (k = 0; k < mm->size2; k++) {
910
- val = (*func)(gsl_matrix_get(mm, i, k), xx2, m);
911
- gsl_matrix_set(mnew, i, k, val);
912
- }
884
+ for (k = 0; k < mm->size2; k++) {
885
+ val = (*func)(gsl_matrix_get(mm, i, k), xx2, m);
886
+ gsl_matrix_set(mnew, i, k, val);
887
+ }
913
888
  }
914
889
  return Data_Wrap_Struct(cgsl_matrix, 0, gsl_matrix_free, mnew);
915
890
  } else {
@@ -918,8 +893,8 @@ VALUE rb_gsl_sf_eval_double2_m(double (*func)(double, double, gsl_mode_t),
918
893
  n = v->size;
919
894
  vnew = gsl_vector_alloc(n);
920
895
  for (i = 0; i < n; i++) {
921
- val = (*func)(gsl_vector_get(v, i), xx2, m);
922
- gsl_vector_set(vnew, i, val);
896
+ val = (*func)(gsl_vector_get(v, i), xx2, m);
897
+ gsl_vector_set(vnew, i, val);
923
898
  }
924
899
  return Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, vnew);
925
900
  }
@@ -927,8 +902,8 @@ VALUE rb_gsl_sf_eval_double2_m(double (*func)(double, double, gsl_mode_t),
927
902
  }
928
903
  }
929
904
 
930
- VALUE rb_gsl_sf_eval_double3_m(double (*func)(double, double, double, gsl_mode_t),
931
- VALUE argv, VALUE x2, VALUE x3, VALUE m)
905
+ VALUE rb_gsl_sf_eval_double3_m(double (*func)(double, double, double, gsl_mode_t),
906
+ VALUE argv, VALUE x2, VALUE x3, VALUE m)
932
907
  {
933
908
  gsl_vector *v = NULL, *vnew = NULL;
934
909
  gsl_matrix *mm = NULL, *mnew = NULL;
@@ -937,10 +912,6 @@ VALUE rb_gsl_sf_eval_double3_m(double (*func)(double, double, double, gsl_mode_t
937
912
  double val, xx2, xx3;
938
913
  /*gsl_mode_t mode;
939
914
  char c;*/
940
- #ifdef HAVE_NARRAY_H
941
- double *ptr1, *ptr2;
942
- struct NARRAY *na;
943
- #endif
944
915
  Need_Float(x2); Need_Float(x3);
945
916
  xx2 = NUM2DBL(x2);
946
917
  xx3 = NUM2DBL(x3);
@@ -970,6 +941,8 @@ VALUE rb_gsl_sf_eval_double3_m(double (*func)(double, double, double, gsl_mode_t
970
941
  default:
971
942
  #ifdef HAVE_NARRAY_H
972
943
  if (NA_IsNArray(argv)) {
944
+ double *ptr1, *ptr2;
945
+ struct NARRAY *na;
973
946
  ptr1 = NA_PTR_TYPE(argv, double*);
974
947
  GetNArray(argv, na);
975
948
  n = na->total;
@@ -983,10 +956,10 @@ VALUE rb_gsl_sf_eval_double3_m(double (*func)(double, double, double, gsl_mode_t
983
956
  Data_Get_Struct(argv, gsl_matrix, mm);
984
957
  mnew = gsl_matrix_alloc(mm->size1, mm->size2);
985
958
  for (i = 0; i < mm->size1; i++) {
986
- for (k = 0; k < mm->size2; k++) {
987
- val = (*func)(gsl_matrix_get(mm, i, k), xx2, xx3, m);
988
- gsl_matrix_set(mnew, i, k, val);
989
- }
959
+ for (k = 0; k < mm->size2; k++) {
960
+ val = (*func)(gsl_matrix_get(mm, i, k), xx2, xx3, m);
961
+ gsl_matrix_set(mnew, i, k, val);
962
+ }
990
963
  }
991
964
  return Data_Wrap_Struct(cgsl_matrix, 0, gsl_matrix_free, mnew);
992
965
  } else {
@@ -995,8 +968,8 @@ VALUE rb_gsl_sf_eval_double3_m(double (*func)(double, double, double, gsl_mode_t
995
968
  n = v->size;
996
969
  vnew = gsl_vector_alloc(n);
997
970
  for (i = 0; i < n; i++) {
998
- val = (*func)(gsl_vector_get(v, i), xx2, xx3, m);
999
- gsl_vector_set(vnew, i, val);
971
+ val = (*func)(gsl_vector_get(v, i), xx2, xx3, m);
972
+ gsl_vector_set(vnew, i, val);
1000
973
  }
1001
974
  return Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, vnew);
1002
975
  }
@@ -1005,8 +978,8 @@ VALUE rb_gsl_sf_eval_double3_m(double (*func)(double, double, double, gsl_mode_t
1005
978
  }
1006
979
 
1007
980
  VALUE rb_gsl_sf_eval_double4_m(double (*func)(double, double, double, double,
1008
- gsl_mode_t),
1009
- VALUE argv, VALUE x2, VALUE x3, VALUE x4, VALUE m)
981
+ gsl_mode_t),
982
+ VALUE argv, VALUE x2, VALUE x3, VALUE x4, VALUE m)
1010
983
  {
1011
984
  gsl_vector *v = NULL, *vnew = NULL;
1012
985
  gsl_matrix *mm = NULL, *mnew = NULL;
@@ -1015,10 +988,6 @@ VALUE rb_gsl_sf_eval_double4_m(double (*func)(double, double, double, double,
1015
988
  double val, xx2, xx3, xx4;
1016
989
  /*gsl_mode_t mode;
1017
990
  char c;*/
1018
- #ifdef HAVE_NARRAY_H
1019
- double *ptr1, *ptr2;
1020
- struct NARRAY *na;
1021
- #endif
1022
991
  Need_Float(x2); Need_Float(x3); Need_Float(x4);
1023
992
  xx2 = NUM2DBL(x2); xx3 = NUM2DBL(x3); xx4 = NUM2DBL(x4);
1024
993
  /*c = tolower(NUM2CHR(m));
@@ -1032,7 +1001,7 @@ VALUE rb_gsl_sf_eval_double4_m(double (*func)(double, double, double, double,
1032
1001
  case T_FIXNUM:
1033
1002
  case T_BIGNUM:
1034
1003
  return rb_float_new((*func)(NUM2DBL(argv), NUM2DBL(x2), NUM2DBL(x3),
1035
- NUM2DBL(x4), m));
1004
+ NUM2DBL(x4), m));
1036
1005
  break;
1037
1006
  case T_ARRAY:
1038
1007
  n = RARRAY_LEN(argv);
@@ -1048,6 +1017,8 @@ VALUE rb_gsl_sf_eval_double4_m(double (*func)(double, double, double, double,
1048
1017
  default:
1049
1018
  #ifdef HAVE_NARRAY_H
1050
1019
  if (NA_IsNArray(argv)) {
1020
+ double *ptr1, *ptr2;
1021
+ struct NARRAY *na;
1051
1022
  ptr1 = NA_PTR_TYPE(argv, double*);
1052
1023
  GetNArray(argv, na);
1053
1024
  n = na->total;
@@ -1061,10 +1032,10 @@ VALUE rb_gsl_sf_eval_double4_m(double (*func)(double, double, double, double,
1061
1032
  Data_Get_Struct(argv, gsl_matrix, mm);
1062
1033
  mnew = gsl_matrix_alloc(mm->size1, mm->size2);
1063
1034
  for (i = 0; i < mm->size1; i++) {
1064
- for (k = 0; k < mm->size2; k++) {
1065
- val = (*func)(gsl_matrix_get(mm, i, k), xx2, xx3, xx4, m);
1066
- gsl_matrix_set(mnew, i, k, val);
1067
- }
1035
+ for (k = 0; k < mm->size2; k++) {
1036
+ val = (*func)(gsl_matrix_get(mm, i, k), xx2, xx3, xx4, m);
1037
+ gsl_matrix_set(mnew, i, k, val);
1038
+ }
1068
1039
  }
1069
1040
  return Data_Wrap_Struct(cgsl_matrix, 0, gsl_matrix_free, mnew);
1070
1041
  } else {
@@ -1073,8 +1044,8 @@ VALUE rb_gsl_sf_eval_double4_m(double (*func)(double, double, double, double,
1073
1044
  n = v->size;
1074
1045
  vnew = gsl_vector_alloc(n);
1075
1046
  for (i = 0; i < n; i++) {
1076
- val = (*func)(gsl_vector_get(v, i), xx2, xx3, xx4, m);
1077
- gsl_vector_set(vnew, i, val);
1047
+ val = (*func)(gsl_vector_get(v, i), xx2, xx3, xx4, m);
1048
+ gsl_vector_set(vnew, i, val);
1078
1049
  }
1079
1050
  return Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, vnew);
1080
1051
  }
@@ -1111,8 +1082,8 @@ VALUE rb_gsl_sf_eval_e_uint(int (*func)(unsigned int, gsl_sf_result*), VALUE x)
1111
1082
  return v;
1112
1083
  }
1113
1084
 
1114
- VALUE rb_gsl_sf_eval_e_int_uint(int (*func)(int, unsigned int, gsl_sf_result*),
1115
- VALUE n, VALUE x)
1085
+ VALUE rb_gsl_sf_eval_e_int_uint(int (*func)(int, unsigned int, gsl_sf_result*),
1086
+ VALUE n, VALUE x)
1116
1087
  {
1117
1088
  gsl_sf_result *rslt = NULL;
1118
1089
  VALUE v;
@@ -1122,8 +1093,8 @@ VALUE rb_gsl_sf_eval_e_int_uint(int (*func)(int, unsigned int, gsl_sf_result*),
1122
1093
  return v;
1123
1094
  }
1124
1095
 
1125
- VALUE rb_gsl_sf_eval_e_double_uint(int (*func)(double, unsigned int, gsl_sf_result*),
1126
- VALUE y, VALUE x)
1096
+ VALUE rb_gsl_sf_eval_e_double_uint(int (*func)(double, unsigned int, gsl_sf_result*),
1097
+ VALUE y, VALUE x)
1127
1098
  {
1128
1099
  gsl_sf_result *rslt = NULL;
1129
1100
  VALUE v;
@@ -1133,8 +1104,8 @@ VALUE rb_gsl_sf_eval_e_double_uint(int (*func)(double, unsigned int, gsl_sf_resu
1133
1104
  return v;
1134
1105
  }
1135
1106
 
1136
- VALUE rb_gsl_sf_eval_e_int_double(int (*func)(int, double, gsl_sf_result*),
1137
- VALUE n, VALUE x)
1107
+ VALUE rb_gsl_sf_eval_e_int_double(int (*func)(int, double, gsl_sf_result*),
1108
+ VALUE n, VALUE x)
1138
1109
  {
1139
1110
  gsl_sf_result *rslt = NULL;
1140
1111
  VALUE v;
@@ -1145,8 +1116,8 @@ VALUE rb_gsl_sf_eval_e_int_double(int (*func)(int, double, gsl_sf_result*),
1145
1116
  return v;
1146
1117
  }
1147
1118
 
1148
- VALUE rb_gsl_sf_eval_e_int_double2(int (*func)(int, double, double, gsl_sf_result*),
1149
- VALUE n, VALUE x1, VALUE x2)
1119
+ VALUE rb_gsl_sf_eval_e_int_double2(int (*func)(int, double, double, gsl_sf_result*),
1120
+ VALUE n, VALUE x1, VALUE x2)
1150
1121
  {
1151
1122
  gsl_sf_result *rslt = NULL;
1152
1123
  VALUE v;
@@ -1158,8 +1129,8 @@ VALUE rb_gsl_sf_eval_e_int_double2(int (*func)(int, double, double, gsl_sf_resul
1158
1129
  }
1159
1130
 
1160
1131
 
1161
- VALUE rb_gsl_sf_eval_e_int_int_double(int (*func)(int, int, double, gsl_sf_result*),
1162
- VALUE n1, VALUE n2, VALUE x)
1132
+ VALUE rb_gsl_sf_eval_e_int_int_double(int (*func)(int, int, double, gsl_sf_result*),
1133
+ VALUE n1, VALUE n2, VALUE x)
1163
1134
  {
1164
1135
  gsl_sf_result *rslt = NULL;
1165
1136
  VALUE v;
@@ -1170,20 +1141,20 @@ VALUE rb_gsl_sf_eval_e_int_int_double(int (*func)(int, int, double, gsl_sf_resul
1170
1141
  return v;
1171
1142
  }
1172
1143
 
1173
- VALUE rb_gsl_sf_eval_e_double2(int (*func)(double, double, gsl_sf_result*),
1174
- VALUE x1, VALUE x2)
1144
+ VALUE rb_gsl_sf_eval_e_double2(int (*func)(double, double, gsl_sf_result*),
1145
+ VALUE x1, VALUE x2)
1175
1146
  {
1176
1147
  gsl_sf_result *rslt = NULL;
1177
1148
  VALUE v;
1178
- Need_Float(x1); Need_Float(x2);
1149
+ Need_Float(x1); Need_Float(x2);
1179
1150
  v = Data_Make_Struct(cgsl_sf_result, gsl_sf_result, 0, free, rslt);
1180
1151
  (*func)(NUM2DBL(x1), NUM2DBL(x2), rslt);
1181
1152
  return v;
1182
1153
  }
1183
1154
 
1184
1155
 
1185
- VALUE rb_gsl_sf_eval_e_double3(int (*func)(double, double, double, gsl_sf_result*),
1186
- VALUE x1, VALUE x2, VALUE x3)
1156
+ VALUE rb_gsl_sf_eval_e_double3(int (*func)(double, double, double, gsl_sf_result*),
1157
+ VALUE x1, VALUE x2, VALUE x3)
1187
1158
  {
1188
1159
  gsl_sf_result *rslt = NULL;
1189
1160
  VALUE v;
@@ -1193,8 +1164,8 @@ VALUE rb_gsl_sf_eval_e_double3(int (*func)(double, double, double, gsl_sf_result
1193
1164
  return v;
1194
1165
  }
1195
1166
 
1196
- VALUE rb_gsl_sf_eval_e_m(int (*func)(double, gsl_mode_t, gsl_sf_result*),
1197
- VALUE x, VALUE m)
1167
+ VALUE rb_gsl_sf_eval_e_m(int (*func)(double, gsl_mode_t, gsl_sf_result*),
1168
+ VALUE x, VALUE m)
1198
1169
  {
1199
1170
  gsl_mode_t mode;
1200
1171
  char c;
@@ -1214,7 +1185,7 @@ VALUE rb_gsl_sf_eval_e_m(int (*func)(double, gsl_mode_t, gsl_sf_result*),
1214
1185
  break;
1215
1186
  default:
1216
1187
  rb_raise(rb_eArgError, "wrong type argument %s (String or Fixnum expected)",
1217
- rb_class2name(CLASS_OF(m)));
1188
+ rb_class2name(CLASS_OF(m)));
1218
1189
  break;
1219
1190
  }
1220
1191
  v = Data_Make_Struct(cgsl_sf_result, gsl_sf_result, 0, free, rslt);
@@ -1223,8 +1194,8 @@ VALUE rb_gsl_sf_eval_e_m(int (*func)(double, gsl_mode_t, gsl_sf_result*),
1223
1194
  }
1224
1195
 
1225
1196
 
1226
- VALUE rb_gsl_sf_eval_e_double2_m(int (*func)(double, double, gsl_mode_t, gsl_sf_result*),
1227
- VALUE x1, VALUE x2, VALUE m)
1197
+ VALUE rb_gsl_sf_eval_e_double2_m(int (*func)(double, double, gsl_mode_t, gsl_sf_result*),
1198
+ VALUE x1, VALUE x2, VALUE m)
1228
1199
  {
1229
1200
  gsl_mode_t mode;
1230
1201
  char c;
@@ -1244,7 +1215,7 @@ VALUE rb_gsl_sf_eval_e_double2_m(int (*func)(double, double, gsl_mode_t, gsl_sf_
1244
1215
  break;
1245
1216
  default:
1246
1217
  rb_raise(rb_eArgError, "wrong type argument %s (String or Fixnum expected)",
1247
- rb_class2name(CLASS_OF(m)));
1218
+ rb_class2name(CLASS_OF(m)));
1248
1219
  break;
1249
1220
  }
1250
1221
  v = Data_Make_Struct(cgsl_sf_result, gsl_sf_result, 0, free, rslt);
@@ -1252,8 +1223,8 @@ VALUE rb_gsl_sf_eval_e_double2_m(int (*func)(double, double, gsl_mode_t, gsl_sf_
1252
1223
  return v;
1253
1224
  }
1254
1225
 
1255
- VALUE rb_gsl_sf_eval_e_double3_m(int (*func)(double, double, double, gsl_mode_t, gsl_sf_result*),
1256
- VALUE x1, VALUE x2, VALUE x3, VALUE m)
1226
+ VALUE rb_gsl_sf_eval_e_double3_m(int (*func)(double, double, double, gsl_mode_t, gsl_sf_result*),
1227
+ VALUE x1, VALUE x2, VALUE x3, VALUE m)
1257
1228
  {
1258
1229
  gsl_mode_t mode;
1259
1230
  char c;
@@ -1273,7 +1244,7 @@ VALUE rb_gsl_sf_eval_e_double3_m(int (*func)(double, double, double, gsl_mode_t,
1273
1244
  break;
1274
1245
  default:
1275
1246
  rb_raise(rb_eArgError, "wrong type argument %s (String or Fixnum expected)",
1276
- rb_class2name(CLASS_OF(m)));
1247
+ rb_class2name(CLASS_OF(m)));
1277
1248
  break;
1278
1249
  }
1279
1250
  v = Data_Make_Struct(cgsl_sf_result, gsl_sf_result, 0, free, rslt);
@@ -1282,8 +1253,8 @@ VALUE rb_gsl_sf_eval_e_double3_m(int (*func)(double, double, double, gsl_mode_t,
1282
1253
  }
1283
1254
 
1284
1255
 
1285
- VALUE rb_gsl_sf_eval_e_double4_m(int (*func)(double, double, double, double, gsl_mode_t, gsl_sf_result*),
1286
- VALUE x1, VALUE x2, VALUE x3, VALUE x4, VALUE m)
1256
+ VALUE rb_gsl_sf_eval_e_double4_m(int (*func)(double, double, double, double, gsl_mode_t, gsl_sf_result*),
1257
+ VALUE x1, VALUE x2, VALUE x3, VALUE x4, VALUE m)
1287
1258
  {
1288
1259
  gsl_mode_t mode;
1289
1260
  char c;
@@ -1303,9 +1274,9 @@ VALUE rb_gsl_sf_eval_e_double4_m(int (*func)(double, double, double, double, gsl
1303
1274
  break;
1304
1275
  default:
1305
1276
  rb_raise(rb_eArgError, "wrong type argument %s (String or Fixnum expected)",
1306
- rb_class2name(CLASS_OF(m)));
1277
+ rb_class2name(CLASS_OF(m)));
1307
1278
  break;
1308
- }
1279
+ }
1309
1280
  v = Data_Make_Struct(cgsl_sf_result, gsl_sf_result, 0, free, rslt);
1310
1281
  (*func)(NUM2DBL(x1), NUM2DBL(x2),NUM2DBL(x3), NUM2DBL(x4), mode, rslt);
1311
1282
  return v;
@@ -1319,10 +1290,6 @@ VALUE eval_sf(double (*func)(double, gsl_mode_t), VALUE argv)
1319
1290
  double val;
1320
1291
  gsl_vector *v = NULL, *vnew = NULL;
1321
1292
  gsl_matrix *mm = NULL, *mnew = NULL;
1322
- #ifdef HAVE_NARRAY_H
1323
- double *ptr1, *ptr2;
1324
- struct NARRAY *na;
1325
- #endif
1326
1293
  switch (TYPE(argv)) {
1327
1294
  case T_FLOAT:
1328
1295
  case T_FIXNUM:
@@ -1343,6 +1310,8 @@ VALUE eval_sf(double (*func)(double, gsl_mode_t), VALUE argv)
1343
1310
  default:
1344
1311
  #ifdef HAVE_NARRAY_H
1345
1312
  if (NA_IsNArray(argv)) {
1313
+ double *ptr1, *ptr2;
1314
+ struct NARRAY *na;
1346
1315
  ptr1 = NA_PTR_TYPE(argv, double*);
1347
1316
  GetNArray(argv, na);
1348
1317
  n = na->total;
@@ -1356,10 +1325,10 @@ VALUE eval_sf(double (*func)(double, gsl_mode_t), VALUE argv)
1356
1325
  Data_Get_Struct(argv, gsl_matrix, mm);
1357
1326
  mnew = gsl_matrix_alloc(mm->size1, mm->size2);
1358
1327
  for (i = 0; i < mm->size1; i++) {
1359
- for (k = 0; k < mm->size2; k++) {
1360
- val = (*func)(gsl_matrix_get(mm, i, k), GSL_PREC_DOUBLE);
1361
- gsl_matrix_set(mnew, i, k, val);
1362
- }
1328
+ for (k = 0; k < mm->size2; k++) {
1329
+ val = (*func)(gsl_matrix_get(mm, i, k), GSL_PREC_DOUBLE);
1330
+ gsl_matrix_set(mnew, i, k, val);
1331
+ }
1363
1332
  }
1364
1333
  return Data_Wrap_Struct(cgsl_matrix, 0, gsl_matrix_free, mnew);
1365
1334
  } else {
@@ -1368,8 +1337,8 @@ VALUE eval_sf(double (*func)(double, gsl_mode_t), VALUE argv)
1368
1337
  n = v->size;
1369
1338
  vnew = gsl_vector_alloc(n);
1370
1339
  for (i = 0; i < n; i++) {
1371
- val = (*func)(gsl_vector_get(v, i), GSL_PREC_DOUBLE);
1372
- gsl_vector_set(vnew, i, val);
1340
+ val = (*func)(gsl_vector_get(v, i), GSL_PREC_DOUBLE);
1341
+ gsl_vector_set(vnew, i, val);
1373
1342
  }
1374
1343
  return Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, vnew);
1375
1344
  }
@@ -1404,18 +1373,18 @@ VALUE rb_gsl_sf_eval_complex(double (*f)(double), VALUE obj)
1404
1373
  mnew = gsl_matrix_complex_alloc(m->size1, m->size2);
1405
1374
  for (i = 0; i < m->size1; i++) {
1406
1375
  for (j = 0; j < m->size2; j++) {
1407
- c = gsl_matrix_complex_get(m, i, j);
1408
- GSL_SET_REAL(&c, (*f)(GSL_REAL(c)));
1409
- GSL_SET_IMAG(&c, (*f)(GSL_IMAG(c)));
1410
- gsl_matrix_complex_set(mnew, i, j, c);
1376
+ c = gsl_matrix_complex_get(m, i, j);
1377
+ GSL_SET_REAL(&c, (*f)(GSL_REAL(c)));
1378
+ GSL_SET_IMAG(&c, (*f)(GSL_IMAG(c)));
1379
+ gsl_matrix_complex_set(mnew, i, j, c);
1411
1380
  }
1412
1381
  }
1413
1382
  return Data_Wrap_Struct(cgsl_matrix_complex, 0, gsl_matrix_complex_free, mnew);
1414
1383
  } else {
1415
- rb_raise(rb_eTypeError,
1416
- "wrong argument type %s "
1417
- " (GSL::Complex or GSL::Vector::Complex expected)",
1418
- rb_class2name(CLASS_OF(obj)));
1384
+ rb_raise(rb_eTypeError,
1385
+ "wrong argument type %s "
1386
+ " (GSL::Complex or GSL::Vector::Complex expected)",
1387
+ rb_class2name(CLASS_OF(obj)));
1419
1388
  }
1420
1389
  }
1421
1390
 
@@ -1424,10 +1393,10 @@ void Init_gsl_sf(VALUE module)
1424
1393
  VALUE mgsl_sf;
1425
1394
  mgsl_sf = rb_define_module_under(module, "Sf");
1426
1395
 
1427
- cgsl_sf_result = rb_define_class_under(mgsl_sf, "Result",
1428
- cGSL_Object);
1396
+ cgsl_sf_result = rb_define_class_under(mgsl_sf, "Result",
1397
+ cGSL_Object);
1429
1398
  rb_define_singleton_method(cgsl_sf_result, "new", rb_gsl_sf_result_new,
1430
- 0);
1399
+ 0);
1431
1400
  rb_define_method(cgsl_sf_result, "print", rb_gsl_sf_result_print, 0);
1432
1401
  rb_define_method(cgsl_sf_result, "inspect", rb_gsl_sf_result_inspect, 0);
1433
1402
  rb_define_method(cgsl_sf_result, "val", rb_gsl_sf_result_val, 0);
@@ -1435,10 +1404,10 @@ void Init_gsl_sf(VALUE module)
1435
1404
  rb_define_method(cgsl_sf_result, "to_a", rb_gsl_sf_result_to_a, 0);
1436
1405
  rb_define_method(cgsl_sf_result, "to_s", rb_gsl_sf_result_to_s, 0);
1437
1406
 
1438
- cgsl_sf_result_e10 = rb_define_class_under(mgsl_sf, "Result_e10",
1439
- cGSL_Object);
1440
- rb_define_singleton_method(cgsl_sf_result_e10, "new",
1441
- rb_gsl_sf_result_e10_new, 0);
1407
+ cgsl_sf_result_e10 = rb_define_class_under(mgsl_sf, "Result_e10",
1408
+ cGSL_Object);
1409
+ rb_define_singleton_method(cgsl_sf_result_e10, "new",
1410
+ rb_gsl_sf_result_e10_new, 0);
1442
1411
  rb_define_method(cgsl_sf_result_e10, "val", rb_gsl_sf_result_e10_val, 0);
1443
1412
  rb_define_method(cgsl_sf_result_e10, "err", rb_gsl_sf_result_e10_err, 0);
1444
1413
  rb_define_method(cgsl_sf_result_e10, "e10", rb_gsl_sf_result_e10_e10, 0);
@@ -1473,8 +1442,5 @@ void Init_gsl_sf(VALUE module)
1473
1442
  Init_gsl_sf_transport(mgsl_sf);
1474
1443
  Init_gsl_sf_trigonometric(mgsl_sf);
1475
1444
  Init_gsl_sf_zeta(mgsl_sf);
1476
-
1477
- #ifdef GSL_1_9_LATER
1478
- Init_sf_mathieu(mgsl_sf);
1479
- #endif
1445
+ Init_sf_mathieu(mgsl_sf);
1480
1446
  }