gsl 1.14.7 → 1.15.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (63) hide show
  1. data/ChangeLog +139 -134
  2. data/Rakefile +4 -3
  3. data/VERSION +1 -1
  4. data/ext/array.c +0 -24
  5. data/ext/array_complex.c +11 -10
  6. data/ext/blas1.c +9 -6
  7. data/ext/block_source.c +4 -3
  8. data/ext/dirac.c +0 -6
  9. data/ext/error.c +1 -2
  10. data/ext/extconf.rb +9 -4
  11. data/ext/fft.c +22 -12
  12. data/ext/function.c +2 -2
  13. data/ext/graph.c +2 -0
  14. data/ext/gsl_narray.c +1 -7
  15. data/ext/histogram.c +0 -8
  16. data/ext/ieee.c +3 -1
  17. data/ext/integration.c +5 -3
  18. data/ext/linalg.c +11 -16
  19. data/ext/linalg_complex.c +1 -3
  20. data/ext/matrix_complex.c +10 -5
  21. data/ext/matrix_int.c +10 -10
  22. data/ext/matrix_source.c +3 -2
  23. data/ext/multifit.c +21 -29
  24. data/ext/multimin.c +1 -3
  25. data/ext/odeiv.c +9 -6
  26. data/ext/poly_source.c +82 -52
  27. data/ext/sf_bessel.c +8 -4
  28. data/ext/sf_coulomb.c +8 -8
  29. data/ext/sf_coupling.c +9 -6
  30. data/ext/sf_dilog.c +3 -2
  31. data/ext/sf_elementary.c +6 -4
  32. data/ext/sf_elljac.c +3 -2
  33. data/ext/sf_exp.c +15 -10
  34. data/ext/sf_gamma.c +9 -6
  35. data/ext/sf_gegenbauer.c +3 -2
  36. data/ext/sf_hyperg.c +18 -12
  37. data/ext/sf_laguerre.c +3 -2
  38. data/ext/sf_legendre.c +3 -2
  39. data/ext/sf_log.c +3 -2
  40. data/ext/sf_power.c +3 -2
  41. data/ext/sf_trigonometric.c +9 -6
  42. data/ext/signal.c +1 -3
  43. data/ext/siman.c +1 -2
  44. data/ext/stats.c +1 -0
  45. data/ext/vector_complex.c +5 -2
  46. data/ext/vector_double.c +13 -8
  47. data/ext/vector_source.c +6 -5
  48. data/ext/wavelet.c +16 -8
  49. data/include/rb_gsl_common.h +5 -6
  50. data/include/rb_gsl_config.h +62 -0
  51. data/include/rb_gsl_with_narray.h +6 -1
  52. data/lib/gsl.rb +3 -0
  53. data/lib/rbgsl.rb +3 -0
  54. data/rdoc/fit.rdoc +5 -5
  55. data/rdoc/ndlinear.rdoc +5 -2
  56. data/tests/gsl_test2.rb +3 -0
  57. data/tests/matrix/matrix_complex_test.rb +36 -0
  58. data/tests/narray/blas_dnrm2.rb +20 -0
  59. data/tests/poly/poly.rb +48 -0
  60. data/tests/sf/test_mode.rb +19 -0
  61. data/tests/stats_mt.rb +16 -0
  62. metadata +15 -11
  63. data/ext/MANIFEST +0 -119
@@ -26,11 +26,12 @@ static VALUE rb_gsl_sf_complex_dilog_e(VALUE obj, VALUE r, VALUE theta)
26
26
  {
27
27
  gsl_sf_result *re, *im;
28
28
  VALUE vre, vim;
29
- int status;
29
+ // local variable "status" declared and set, but never used
30
+ //int status;
30
31
  Need_Float(r); Need_Float(theta);
31
32
  vre = Data_Make_Struct(cgsl_sf_result, gsl_sf_result, 0, free, re);
32
33
  vim = Data_Make_Struct(cgsl_sf_result, gsl_sf_result, 0, free, im);
33
- status = gsl_sf_complex_dilog_e(NUM2DBL(r), NUM2DBL(theta), re, im);
34
+ /*status =*/ gsl_sf_complex_dilog_e(NUM2DBL(r), NUM2DBL(theta), re, im);
34
35
  return rb_ary_new3(2, vre, vim);
35
36
  }
36
37
 
@@ -16,10 +16,11 @@ static VALUE rb_gsl_sf_multiply_e(VALUE obj, VALUE x, VALUE y)
16
16
  {
17
17
  gsl_sf_result *r;
18
18
  VALUE v;
19
- int status;
19
+ // local variable "status" declared and set, but never used
20
+ //int status;
20
21
  Need_Float(x); Need_Float(y);
21
22
  v = Data_Make_Struct(cgsl_sf_result, gsl_sf_result, 0, free, r);
22
- status = gsl_sf_multiply_e(NUM2DBL(x), NUM2DBL(y), r);
23
+ /*status =*/ gsl_sf_multiply_e(NUM2DBL(x), NUM2DBL(y), r);
23
24
  return v;
24
25
  }
25
26
 
@@ -28,11 +29,12 @@ static VALUE rb_gsl_sf_multiply_err_e(VALUE obj, VALUE x, VALUE dx,
28
29
  {
29
30
  gsl_sf_result *r;
30
31
  VALUE v;
31
- int status;
32
+ // local variable "status" declared and set, but never used
33
+ //int status;
32
34
  Need_Float(x); Need_Float(y);
33
35
  Need_Float(dx); Need_Float(dy);
34
36
  v = Data_Make_Struct(cgsl_sf_result, gsl_sf_result, 0, free, r);
35
- status = gsl_sf_multiply_err_e(NUM2DBL(x), NUM2DBL(dx),
37
+ /*status =*/ gsl_sf_multiply_err_e(NUM2DBL(x), NUM2DBL(dx),
36
38
  NUM2DBL(y), NUM2DBL(dy), r);
37
39
  return v;
38
40
  }
@@ -15,9 +15,10 @@
15
15
  static VALUE rb_gsl_sf_elljac_e(VALUE obj, VALUE n, VALUE m)
16
16
  {
17
17
  double sn, cn, dn;
18
- int status;
18
+ // local variable "status" declared and set, but never used
19
+ //int status;
19
20
  Need_Float(n); Need_Float(m);
20
- status = gsl_sf_elljac_e(NUM2DBL(n), NUM2DBL(m), &sn, &cn, &dn);
21
+ /*status =*/ gsl_sf_elljac_e(NUM2DBL(n), NUM2DBL(m), &sn, &cn, &dn);
21
22
  return rb_ary_new3(3, rb_float_new(sn),
22
23
  rb_float_new(cn), rb_float_new(dn));
23
24
  }
@@ -30,10 +30,11 @@ static VALUE rb_gsl_sf_exp_e10_e(VALUE obj, VALUE x)
30
30
  {
31
31
  gsl_sf_result_e10 *rslt = NULL;
32
32
  VALUE v;
33
- int status;
33
+ // local variable "status" declared and set, but never used
34
+ //int status;
34
35
  Need_Float(x);
35
36
  v = Data_Make_Struct(cgsl_sf_result_e10, gsl_sf_result_e10, 0, free, rslt);
36
- status = gsl_sf_exp_e10_e(NUM2DBL(x), rslt);
37
+ /*status =*/ gsl_sf_exp_e10_e(NUM2DBL(x), rslt);
37
38
  return v;
38
39
  }
39
40
 
@@ -52,10 +53,11 @@ static VALUE rb_gsl_sf_exp_mult_e10_e(VALUE obj, VALUE x, VALUE y)
52
53
  {
53
54
  gsl_sf_result_e10 *rslt = NULL;
54
55
  VALUE v;
55
- int status;
56
+ // local variable "status" declared and set, but never used
57
+ //int status;
56
58
  Need_Float(x); Need_Float(y);
57
59
  v = Data_Make_Struct(cgsl_sf_result_e10, gsl_sf_result_e10, 0, free, rslt);
58
- status = gsl_sf_exp_mult_e10_e(NUM2DBL(x), NUM2DBL(y), rslt);
60
+ /*status =*/ gsl_sf_exp_mult_e10_e(NUM2DBL(x), NUM2DBL(y), rslt);
59
61
  return v;
60
62
  }
61
63
 
@@ -108,10 +110,11 @@ static VALUE rb_gsl_sf_exp_err_e10_e(VALUE obj, VALUE x, VALUE dx)
108
110
  {
109
111
  gsl_sf_result_e10 *rslt = NULL;
110
112
  VALUE v;
111
- int status;
113
+ // local variable "status" declared and set, but never used
114
+ //int status;
112
115
  Need_Float(x); Need_Float(dx);
113
116
  v = Data_Make_Struct(cgsl_sf_result_e10, gsl_sf_result_e10, 0, free, rslt);
114
- status = gsl_sf_exp_err_e10_e(NUM2DBL(x), NUM2DBL(dx), rslt);
117
+ /*status =*/ gsl_sf_exp_err_e10_e(NUM2DBL(x), NUM2DBL(dx), rslt);
115
118
  return v;
116
119
  }
117
120
 
@@ -120,11 +123,12 @@ static VALUE rb_gsl_sf_exp_mult_err_e(VALUE obj, VALUE x, VALUE dx,
120
123
  {
121
124
  gsl_sf_result *rslt = NULL;
122
125
  VALUE v;
123
- int status;
126
+ // local variable "status" declared and set, but never used
127
+ //int status;
124
128
  Need_Float(x); Need_Float(y);
125
129
  Need_Float(dx); Need_Float(dy);
126
130
  v = Data_Make_Struct(cgsl_sf_result, gsl_sf_result, 0, free, rslt);
127
- status = gsl_sf_exp_mult_err_e(NUM2DBL(x), NUM2DBL(dx), NUM2DBL(y), NUM2DBL(dy), rslt);
131
+ /*status =*/ gsl_sf_exp_mult_err_e(NUM2DBL(x), NUM2DBL(dx), NUM2DBL(y), NUM2DBL(dy), rslt);
128
132
  return v;
129
133
  }
130
134
 
@@ -133,11 +137,12 @@ static VALUE rb_gsl_sf_exp_mult_err_e10_e(VALUE obj, VALUE x, VALUE dx,
133
137
  {
134
138
  gsl_sf_result_e10 *rslt = NULL;
135
139
  VALUE v;
136
- int status;
140
+ // local variable "status" declared and set, but never used
141
+ //int status;
137
142
  Need_Float(x); Need_Float(y);
138
143
  Need_Float(dx); Need_Float(dy);
139
144
  v = Data_Make_Struct(cgsl_sf_result_e10, gsl_sf_result_e10, 0, free, rslt);
140
- status = gsl_sf_exp_mult_err_e10_e(NUM2DBL(x), NUM2DBL(dx), NUM2DBL(y), NUM2DBL(dy), rslt);
145
+ /*status =*/ gsl_sf_exp_mult_err_e10_e(NUM2DBL(x), NUM2DBL(dx), NUM2DBL(y), NUM2DBL(dy), rslt);
141
146
  return v;
142
147
  }
143
148
 
@@ -35,11 +35,12 @@ static VALUE rb_gsl_sf_lngamma_sgn_e(VALUE obj, VALUE x)
35
35
  {
36
36
  gsl_sf_result *rslt = NULL;
37
37
  VALUE v;
38
- int status;
38
+ // local variable "status" declared and set, but never used
39
+ //int status;
39
40
  double sgn;
40
41
  Need_Float(x);
41
42
  v = Data_Make_Struct(cgsl_sf_result, gsl_sf_result, 0, free, rslt);
42
- status = gsl_sf_lngamma_sgn_e(NUM2DBL(x), rslt, &sgn);
43
+ /*status =*/ gsl_sf_lngamma_sgn_e(NUM2DBL(x), rslt, &sgn);
43
44
  return rb_ary_new3(2, v, rb_float_new(sgn));
44
45
  }
45
46
 
@@ -165,10 +166,11 @@ static VALUE rb_gsl_sf_lnchoose_e(VALUE obj, VALUE n, VALUE m)
165
166
  {
166
167
  gsl_sf_result *rslt = NULL;
167
168
  VALUE v;
168
- int status;
169
+ // local variable "status" declared and set, but never used
170
+ //int status;
169
171
  CHECK_FIXNUM(n); CHECK_FIXNUM(m);
170
172
  v = Data_Make_Struct(cgsl_sf_result, gsl_sf_result, 0, free, rslt);
171
- status = gsl_sf_lnchoose_e(FIX2INT(n), FIX2INT(m), rslt);
173
+ /*status =*/ gsl_sf_lnchoose_e(FIX2INT(n), FIX2INT(m), rslt);
172
174
  return v;
173
175
  }
174
176
 
@@ -197,10 +199,11 @@ static VALUE rb_gsl_sf_lnpoch_sgn_e(VALUE obj, VALUE a, VALUE x)
197
199
  gsl_sf_result *rslt = NULL;
198
200
  VALUE v;
199
201
  double sgn;
200
- int status;
202
+ // local variable "status" declared and set, but never used
203
+ //int status;
201
204
  Need_Float(a); Need_Float(x);
202
205
  v = Data_Make_Struct(cgsl_sf_result, gsl_sf_result, 0, free, rslt);
203
- status = gsl_sf_lnpoch_sgn_e(NUM2DBL(a), NUM2DBL(x), rslt, &sgn);
206
+ /*status =*/ gsl_sf_lnpoch_sgn_e(NUM2DBL(a), NUM2DBL(x), rslt, &sgn);
204
207
  return rb_ary_new3(2, v, rb_float_new(sgn));
205
208
  }
206
209
 
@@ -50,11 +50,12 @@ static VALUE rb_gsl_sf_gegenpoly_n_e(VALUE obj, VALUE n, VALUE lambda, VALUE x)
50
50
  {
51
51
  gsl_sf_result *rslt = NULL;
52
52
  VALUE v;
53
- int status;
53
+ // local variable "status" declared and set, but never used
54
+ //int status;
54
55
  CHECK_FIXNUM(n);
55
56
  Need_Float(lambda); Need_Float(x);
56
57
  v = Data_Make_Struct(cgsl_sf_result, gsl_sf_result, 0, free, rslt);
57
- status = gsl_sf_gegenpoly_n_e(FIX2INT(n), NUM2DBL(lambda), NUM2DBL(x), rslt);
58
+ /*status =*/ gsl_sf_gegenpoly_n_e(FIX2INT(n), NUM2DBL(lambda), NUM2DBL(x), rslt);
58
59
 
59
60
  return v;
60
61
  }
@@ -31,10 +31,11 @@ static VALUE rb_gsl_sf_hyperg_1F1_int_e(VALUE obj, VALUE m, VALUE n, VALUE x)
31
31
  {
32
32
  gsl_sf_result *rslt = NULL;
33
33
  VALUE v;
34
- int status;
34
+ // local variable "status" declared and set, but never used
35
+ //int status;
35
36
  CHECK_FIXNUM(m); CHECK_FIXNUM(n); Need_Float(x);
36
37
  v = Data_Make_Struct(cgsl_sf_result, gsl_sf_result, 0, free, rslt);
37
- status = gsl_sf_hyperg_1F1_int_e(FIX2INT(m), FIX2INT(n), NUM2DBL(x), rslt);
38
+ /*status =*/ gsl_sf_hyperg_1F1_int_e(FIX2INT(m), FIX2INT(n), NUM2DBL(x), rslt);
38
39
  return v;
39
40
  }
40
41
 
@@ -57,10 +58,11 @@ static VALUE rb_gsl_sf_hyperg_U_int_e(VALUE obj, VALUE m, VALUE n, VALUE x)
57
58
  {
58
59
  gsl_sf_result *rslt = NULL;
59
60
  VALUE v;
60
- int status;
61
+ // local variable "status" declared and set, but never used
62
+ //int status;
61
63
  CHECK_FIXNUM(m); CHECK_FIXNUM(n); Need_Float(x);
62
64
  v = Data_Make_Struct(cgsl_sf_result, gsl_sf_result, 0, free, rslt);
63
- status = gsl_sf_hyperg_U_int_e(FIX2INT(m), FIX2INT(n), NUM2DBL(x), rslt);
65
+ /*status =*/ gsl_sf_hyperg_U_int_e(FIX2INT(m), FIX2INT(n), NUM2DBL(x), rslt);
64
66
  return v;
65
67
  }
66
68
 
@@ -68,10 +70,11 @@ static VALUE rb_gsl_sf_hyperg_U_int_e10_e(VALUE obj, VALUE m, VALUE n, VALUE x)
68
70
  {
69
71
  gsl_sf_result_e10 *rslt = NULL;
70
72
  VALUE v;
71
- int status;
73
+ // local variable "status" declared and set, but never used
74
+ //int status;
72
75
  CHECK_FIXNUM(m); CHECK_FIXNUM(n); Need_Float(x);
73
76
  v = Data_Make_Struct(cgsl_sf_result_e10, gsl_sf_result_e10, 0, free, rslt);
74
- status = gsl_sf_hyperg_U_int_e10_e(FIX2INT(m), FIX2INT(n), NUM2DBL(x), rslt);
77
+ /*status =*/ gsl_sf_hyperg_U_int_e10_e(FIX2INT(m), FIX2INT(n), NUM2DBL(x), rslt);
75
78
  return v;
76
79
  }
77
80
 
@@ -121,10 +124,11 @@ static VALUE rb_gsl_sf_hyperg_2F1_conj_e(VALUE obj, VALUE aR, VALUE aI, VALUE c,
121
124
  {
122
125
  gsl_sf_result *rslt = NULL;
123
126
  VALUE v;
124
- int status;
127
+ // local variable "status" declared and set, but never used
128
+ //int status;
125
129
  Need_Float(aR); Need_Float(aI); Need_Float(c); Need_Float(x);
126
130
  v = Data_Make_Struct(cgsl_sf_result, gsl_sf_result, 0, free, rslt);
127
- status = gsl_sf_hyperg_2F1_conj_e(NUM2DBL(aR), NUM2DBL(aI), NUM2DBL(c), NUM2DBL(x), rslt);
131
+ /*status =*/ gsl_sf_hyperg_2F1_conj_e(NUM2DBL(aR), NUM2DBL(aI), NUM2DBL(c), NUM2DBL(x), rslt);
128
132
  return v;
129
133
  }
130
134
 
@@ -137,10 +141,11 @@ static VALUE rb_gsl_sf_hyperg_2F1_renorm_e(VALUE obj, VALUE a, VALUE b, VALUE c,
137
141
  {
138
142
  gsl_sf_result *rslt = NULL;
139
143
  VALUE v;
140
- int status;
144
+ // local variable "status" declared and set, but never used
145
+ //int status;
141
146
  Need_Float(a); Need_Float(b); Need_Float(c); Need_Float(x);
142
147
  v = Data_Make_Struct(cgsl_sf_result, gsl_sf_result, 0, free, rslt);
143
- status = gsl_sf_hyperg_2F1_renorm_e(NUM2DBL(a), NUM2DBL(b), NUM2DBL(c), NUM2DBL(x), rslt);
148
+ /*status =*/ gsl_sf_hyperg_2F1_renorm_e(NUM2DBL(a), NUM2DBL(b), NUM2DBL(c), NUM2DBL(x), rslt);
144
149
  return v;
145
150
  }
146
151
 
@@ -153,10 +158,11 @@ static VALUE rb_gsl_sf_hyperg_2F1_conj_renorm_e(VALUE obj, VALUE aR, VALUE aI, V
153
158
  {
154
159
  gsl_sf_result *rslt = NULL;
155
160
  VALUE v;
156
- int status;
161
+ // local variable "status" declared and set, but never used
162
+ //int status;
157
163
  Need_Float(aR); Need_Float(aI); Need_Float(c); Need_Float(x);
158
164
  v = Data_Make_Struct(cgsl_sf_result, gsl_sf_result, 0, free, rslt);
159
- status = gsl_sf_hyperg_2F1_conj_renorm_e(NUM2DBL(aR), NUM2DBL(aI), NUM2DBL(c), NUM2DBL(x), rslt);
165
+ /*status =*/ gsl_sf_hyperg_2F1_conj_renorm_e(NUM2DBL(aR), NUM2DBL(aI), NUM2DBL(c), NUM2DBL(x), rslt);
160
166
  return v;
161
167
  }
162
168
 
@@ -78,11 +78,12 @@ static VALUE rb_gsl_sf_laguerre_n_e(VALUE obj, VALUE n, VALUE a, VALUE x)
78
78
  {
79
79
  gsl_sf_result *rslt = NULL;
80
80
  VALUE v;
81
- int status;
81
+ // local variable "status" declared and set, but never used
82
+ //int status;
82
83
  CHECK_FIXNUM(n);
83
84
  Need_Float(a); Need_Float(x);
84
85
  v = Data_Make_Struct(cgsl_sf_result, gsl_sf_result, 0, free, rslt);
85
- status = gsl_sf_laguerre_n_e(FIX2INT(n), NUM2DBL(a), NUM2DBL(x), rslt);
86
+ /*status =*/ gsl_sf_laguerre_n_e(FIX2INT(n), NUM2DBL(a), NUM2DBL(x), rslt);
86
87
  return v;
87
88
  }
88
89
 
@@ -255,12 +255,13 @@ static VALUE rb_gsl_sf_legendre_H3d_e(VALUE obj,VALUE l, VALUE lambda, VALUE et
255
255
  {
256
256
  gsl_sf_result *rslt = NULL;
257
257
  VALUE v;
258
- int status;
258
+ // local variable "status" declared and set, but never used
259
+ //int status;
259
260
  CHECK_FIXNUM(l);
260
261
  Need_Float(lambda);
261
262
  Need_Float(eta);
262
263
  v = Data_Make_Struct(cgsl_sf_result, gsl_sf_result, 0, free, rslt);
263
- status = gsl_sf_legendre_H3d_e(FIX2INT(l), NUM2DBL(lambda), NUM2DBL(eta), rslt);
264
+ /*status =*/ gsl_sf_legendre_H3d_e(FIX2INT(l), NUM2DBL(lambda), NUM2DBL(eta), rslt);
264
265
  return v;
265
266
  }
266
267
 
@@ -47,7 +47,8 @@ static VALUE rb_gsl_sf_complex_log_e(int argc, VALUE *argv, VALUE obj)
47
47
  gsl_complex *z = NULL;
48
48
  VALUE vlnr, vtheta;
49
49
  double re, im;
50
- int status;
50
+ // local variable "status" was defined and set, but never used
51
+ //int status;
51
52
  switch (argc) {
52
53
  case 1:
53
54
  CHECK_COMPLEX(argv[0]);
@@ -65,7 +66,7 @@ static VALUE rb_gsl_sf_complex_log_e(int argc, VALUE *argv, VALUE obj)
65
66
  }
66
67
  vlnr = Data_Make_Struct(cgsl_sf_result, gsl_sf_result, 0, free, rslt1);
67
68
  vtheta = Data_Make_Struct(cgsl_sf_result, gsl_sf_result, 0, free, rslt2);
68
- status = gsl_sf_complex_log_e(re, im, rslt1, rslt2);
69
+ /*status =*/ gsl_sf_complex_log_e(re, im, rslt1, rslt2);
69
70
  return rb_ary_new3(2, vlnr, vtheta);
70
71
  }
71
72
 
@@ -27,11 +27,12 @@ static VALUE rb_gsl_sf_pow_int_e(VALUE obj, VALUE x, VALUE n)
27
27
  {
28
28
  gsl_sf_result *rslt = NULL;
29
29
  VALUE v;
30
- int status;
30
+ // local variable "status" declared and set, but never used
31
+ //int status;
31
32
  Need_Float(x);
32
33
  CHECK_FIXNUM(n);
33
34
  v = Data_Make_Struct(cgsl_sf_result, gsl_sf_result, 0, free, rslt);
34
- status = gsl_sf_pow_int_e(NUM2DBL(x), FIX2INT(n), rslt);
35
+ /*status =*/ gsl_sf_pow_int_e(NUM2DBL(x), FIX2INT(n), rslt);
35
36
  return v;
36
37
  }
37
38
 
@@ -63,7 +63,8 @@ static VALUE rb_gsl_sf_complex_XXX_e(int argc, VALUE *argv, VALUE obj,
63
63
  gsl_complex *z;
64
64
  double re, im;
65
65
  VALUE v1, v2;
66
- int status;
66
+ // local variable "status" declared and set, but never used
67
+ //int status;
67
68
  switch (argc) {
68
69
  case 1:
69
70
  CHECK_COMPLEX(argv[0]);
@@ -82,7 +83,7 @@ static VALUE rb_gsl_sf_complex_XXX_e(int argc, VALUE *argv, VALUE obj,
82
83
  }
83
84
  v1 = Data_Make_Struct(cgsl_sf_result, gsl_sf_result, 0, free, r1);
84
85
  v2 = Data_Make_Struct(cgsl_sf_result, gsl_sf_result, 0, free, r2);
85
- status = (*f)(re, im, r1, r2);
86
+ /*status =*/ (*f)(re, im, r1, r2);
86
87
  return rb_ary_new3(2, v1, v2);
87
88
  }
88
89
 
@@ -157,11 +158,12 @@ static VALUE rb_gsl_sf_sin_err_e(VALUE obj, VALUE x, VALUE dx)
157
158
  {
158
159
  gsl_sf_result *rslt = NULL;
159
160
  VALUE v;
160
- int status;
161
+ // local variable "status" declared and set, but never used
162
+ //int status;
161
163
  Need_Float(x);
162
164
  Need_Float(dx);
163
165
  v = Data_Make_Struct(cgsl_sf_result, gsl_sf_result, 0, free, rslt);
164
- status = gsl_sf_sin_err_e(NUM2DBL(x), NUM2DBL(dx), rslt);
166
+ /*status =*/ gsl_sf_sin_err_e(NUM2DBL(x), NUM2DBL(dx), rslt);
165
167
  return v;
166
168
  }
167
169
 
@@ -169,11 +171,12 @@ static VALUE rb_gsl_sf_cos_err_e(VALUE obj, VALUE x, VALUE dx)
169
171
  {
170
172
  gsl_sf_result *rslt = NULL;
171
173
  VALUE v;
172
- int status;
174
+ // local variable "status" declared and set, but never used
175
+ //int status;
173
176
  Need_Float(x);
174
177
  Need_Float(dx);
175
178
  v = Data_Make_Struct(cgsl_sf_result, gsl_sf_result, 0, free, rslt);
176
- status = gsl_sf_cos_err_e(NUM2DBL(x), NUM2DBL(dx), rslt);
179
+ /*status =*/ gsl_sf_cos_err_e(NUM2DBL(x), NUM2DBL(dx), rslt);
177
180
  return v;
178
181
  }
179
182
 
@@ -105,7 +105,7 @@ static VALUE rb_gsl_fft_conv_corr(int argc, VALUE *argv, VALUE obj,
105
105
  enum FFT_CONV_CORR flag2)
106
106
  {
107
107
  double *data1, *data2, *data3;
108
- size_t stride1, stride2, stride3 = 1, size1, size2;
108
+ size_t stride1, stride2, size1, size2;
109
109
  #ifdef HAVE_NARRAY_H
110
110
  int naflag1, naflag2, shape;
111
111
  #else
@@ -170,14 +170,12 @@ static VALUE rb_gsl_fft_conv_corr(int argc, VALUE *argv, VALUE obj,
170
170
  break;
171
171
  }
172
172
  data3 = v->data;
173
- stride3 = 1;
174
173
  break;
175
174
  case 1:
176
175
  #ifdef HAVE_NARRAY_H
177
176
  shape = (int) size1;
178
177
  ary = na_make_object(NA_DFLOAT, 1, &shape, cNArray);
179
178
  data3 = NA_PTR_TYPE(ary, double*);
180
- stride3 = 1;
181
179
  #endif
182
180
  break;
183
181
  default:
@@ -569,7 +569,7 @@ static VALUE rb_gsl_siman_solver_solve(VALUE obj, VALUE rng,
569
569
  siman_metric *metric = NULL;
570
570
  siman_print *print = NULL;
571
571
  gsl_vector *vtmp = NULL;
572
- gsl_siman_params_t *params = NULL, ppp;
572
+ gsl_siman_params_t *params = NULL;
573
573
  int flag = 0;
574
574
  /* Data_Get_Struct(obj, siman_solver, ss);*/
575
575
  CHECK_VECTOR(vx0p);
@@ -622,7 +622,6 @@ static VALUE rb_gsl_siman_solver_solve(VALUE obj, VALUE rng,
622
622
  ss->proc_metric = metric->proc;
623
623
 
624
624
  gsl_vector_memcpy(ss->vx, vtmp);
625
- ppp = *params;
626
625
 
627
626
  if (NIL_P(vprint)) {
628
627
  gsl_siman_solve(r, ss, rb_gsl_siman_Efunc_t,
@@ -45,6 +45,7 @@ static VALUE rb_gsl_stats_XXX1(int argc, VALUE *argv, VALUE obj,
45
45
  {
46
46
  size_t stride, size;
47
47
  double *data = NULL;
48
+ if (argc < 1) rb_raise(rb_eArgError, "too few arguments");
48
49
  data = get_vector_stats2(argc, argv, obj, &stride, &size);
49
50
  return rb_float_new((*f)(data, stride, size, NUM2DBL(argv[argc-1])));
50
51
  }
@@ -1986,7 +1986,10 @@ static VALUE rb_gsl_vector_complex_zip(int argc, VALUE *argv, VALUE obj)
1986
1986
  return ary;
1987
1987
  }
1988
1988
 
1989
- static int gsl_vector_complex_equal(const gsl_vector_complex *v1,
1989
+ // Starting with version 1.15, GSL provides a gsl_vector_complex_equal
1990
+ // function, but it only determines absolute equality (i.e. is has no epsilon
1991
+ // argument).
1992
+ static int gsl_vector_complex_equal_eps(const gsl_vector_complex *v1,
1990
1993
  const gsl_vector_complex *v2, double eps)
1991
1994
  {
1992
1995
  gsl_complex z1, z2;
@@ -2019,7 +2022,7 @@ static VALUE rb_gsl_vector_complex_equal(int argc, VALUE *argv, VALUE obj)
2019
2022
  Data_Get_Struct(obj, gsl_vector_complex, v1);
2020
2023
  CHECK_VECTOR_COMPLEX(argv[0]);
2021
2024
  Data_Get_Struct(argv[0], gsl_vector_complex, v2);
2022
- ret = gsl_vector_complex_equal(v1, v2, eps);
2025
+ ret = gsl_vector_complex_equal_eps(v1, v2, eps);
2023
2026
  if (ret == 1) return Qtrue;
2024
2027
  else return Qfalse;
2025
2028
  }