gsl 1.14.7 → 1.15.3
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +139 -134
- data/Rakefile +4 -3
- data/VERSION +1 -1
- data/ext/array.c +0 -24
- data/ext/array_complex.c +11 -10
- data/ext/blas1.c +9 -6
- data/ext/block_source.c +4 -3
- data/ext/dirac.c +0 -6
- data/ext/error.c +1 -2
- data/ext/extconf.rb +9 -4
- data/ext/fft.c +22 -12
- data/ext/function.c +2 -2
- data/ext/graph.c +2 -0
- data/ext/gsl_narray.c +1 -7
- data/ext/histogram.c +0 -8
- data/ext/ieee.c +3 -1
- data/ext/integration.c +5 -3
- data/ext/linalg.c +11 -16
- data/ext/linalg_complex.c +1 -3
- data/ext/matrix_complex.c +10 -5
- data/ext/matrix_int.c +10 -10
- data/ext/matrix_source.c +3 -2
- data/ext/multifit.c +21 -29
- data/ext/multimin.c +1 -3
- data/ext/odeiv.c +9 -6
- data/ext/poly_source.c +82 -52
- data/ext/sf_bessel.c +8 -4
- data/ext/sf_coulomb.c +8 -8
- data/ext/sf_coupling.c +9 -6
- data/ext/sf_dilog.c +3 -2
- data/ext/sf_elementary.c +6 -4
- data/ext/sf_elljac.c +3 -2
- data/ext/sf_exp.c +15 -10
- data/ext/sf_gamma.c +9 -6
- data/ext/sf_gegenbauer.c +3 -2
- data/ext/sf_hyperg.c +18 -12
- data/ext/sf_laguerre.c +3 -2
- data/ext/sf_legendre.c +3 -2
- data/ext/sf_log.c +3 -2
- data/ext/sf_power.c +3 -2
- data/ext/sf_trigonometric.c +9 -6
- data/ext/signal.c +1 -3
- data/ext/siman.c +1 -2
- data/ext/stats.c +1 -0
- data/ext/vector_complex.c +5 -2
- data/ext/vector_double.c +13 -8
- data/ext/vector_source.c +6 -5
- data/ext/wavelet.c +16 -8
- data/include/rb_gsl_common.h +5 -6
- data/include/rb_gsl_config.h +62 -0
- data/include/rb_gsl_with_narray.h +6 -1
- data/lib/gsl.rb +3 -0
- data/lib/rbgsl.rb +3 -0
- data/rdoc/fit.rdoc +5 -5
- data/rdoc/ndlinear.rdoc +5 -2
- data/tests/gsl_test2.rb +3 -0
- data/tests/matrix/matrix_complex_test.rb +36 -0
- data/tests/narray/blas_dnrm2.rb +20 -0
- data/tests/poly/poly.rb +48 -0
- data/tests/sf/test_mode.rb +19 -0
- data/tests/stats_mt.rb +16 -0
- metadata +15 -11
- data/ext/MANIFEST +0 -119
data/ext/sf_dilog.c
CHANGED
@@ -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
|
-
|
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
|
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
|
|
data/ext/sf_elementary.c
CHANGED
@@ -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
|
-
|
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
|
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
|
-
|
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
|
37
|
+
/*status =*/ gsl_sf_multiply_err_e(NUM2DBL(x), NUM2DBL(dx),
|
36
38
|
NUM2DBL(y), NUM2DBL(dy), r);
|
37
39
|
return v;
|
38
40
|
}
|
data/ext/sf_elljac.c
CHANGED
@@ -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
|
-
|
18
|
+
// local variable "status" declared and set, but never used
|
19
|
+
//int status;
|
19
20
|
Need_Float(n); Need_Float(m);
|
20
|
-
status
|
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
|
}
|
data/ext/sf_exp.c
CHANGED
@@ -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
|
-
|
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
|
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
|
-
|
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
|
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
|
-
|
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
|
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
|
-
|
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
|
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
|
-
|
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
|
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
|
|
data/ext/sf_gamma.c
CHANGED
@@ -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
|
-
|
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
|
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
|
-
|
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
|
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
|
-
|
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
|
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
|
|
data/ext/sf_gegenbauer.c
CHANGED
@@ -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
|
-
|
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
|
58
|
+
/*status =*/ gsl_sf_gegenpoly_n_e(FIX2INT(n), NUM2DBL(lambda), NUM2DBL(x), rslt);
|
58
59
|
|
59
60
|
return v;
|
60
61
|
}
|
data/ext/sf_hyperg.c
CHANGED
@@ -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
|
-
|
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
|
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
|
-
|
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
|
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
|
-
|
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
|
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
|
-
|
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
|
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
|
-
|
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
|
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
|
-
|
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
|
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
|
|
data/ext/sf_laguerre.c
CHANGED
@@ -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
|
-
|
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
|
86
|
+
/*status =*/ gsl_sf_laguerre_n_e(FIX2INT(n), NUM2DBL(a), NUM2DBL(x), rslt);
|
86
87
|
return v;
|
87
88
|
}
|
88
89
|
|
data/ext/sf_legendre.c
CHANGED
@@ -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
|
-
|
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
|
264
|
+
/*status =*/ gsl_sf_legendre_H3d_e(FIX2INT(l), NUM2DBL(lambda), NUM2DBL(eta), rslt);
|
264
265
|
return v;
|
265
266
|
}
|
266
267
|
|
data/ext/sf_log.c
CHANGED
@@ -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
|
-
|
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
|
69
|
+
/*status =*/ gsl_sf_complex_log_e(re, im, rslt1, rslt2);
|
69
70
|
return rb_ary_new3(2, vlnr, vtheta);
|
70
71
|
}
|
71
72
|
|
data/ext/sf_power.c
CHANGED
@@ -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
|
-
|
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
|
35
|
+
/*status =*/ gsl_sf_pow_int_e(NUM2DBL(x), FIX2INT(n), rslt);
|
35
36
|
return v;
|
36
37
|
}
|
37
38
|
|
data/ext/sf_trigonometric.c
CHANGED
@@ -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
|
-
|
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
|
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
|
-
|
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
|
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
|
-
|
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
|
179
|
+
/*status =*/ gsl_sf_cos_err_e(NUM2DBL(x), NUM2DBL(dx), rslt);
|
177
180
|
return v;
|
178
181
|
}
|
179
182
|
|
data/ext/signal.c
CHANGED
@@ -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,
|
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:
|
data/ext/siman.c
CHANGED
@@ -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
|
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,
|
data/ext/stats.c
CHANGED
@@ -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
|
}
|
data/ext/vector_complex.c
CHANGED
@@ -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
|
-
|
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 =
|
2025
|
+
ret = gsl_vector_complex_equal_eps(v1, v2, eps);
|
2023
2026
|
if (ret == 1) return Qtrue;
|
2024
2027
|
else return Qfalse;
|
2025
2028
|
}
|