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
data/ext/ieee.c CHANGED
@@ -21,6 +21,7 @@ static VALUE rb_gsl_ieee_fprintf_double(int argc, VALUE *argv, VALUE obj)
21
21
  {
22
22
  #ifdef RUBY_1_9_LATER
23
23
  rb_io_t *fptr = NULL;
24
+ double ftmp;
24
25
  #else
25
26
  OpenFile *fptr = NULL;
26
27
  #endif
@@ -61,7 +62,8 @@ static VALUE rb_gsl_ieee_fprintf_double(int argc, VALUE *argv, VALUE obj)
61
62
  rb_raise(rb_eTypeError, "wrong argument type %s (Float expected)",
62
63
  rb_class2name(CLASS_OF(vtmp)));
63
64
  #ifdef RUBY_1_9_LATER
64
- gsl_ieee_fprintf_double(fp, &(RFLOAT_VALUE(vtmp)));
65
+ ftmp = RFLOAT_VALUE(vtmp);
66
+ gsl_ieee_fprintf_double(fp, &ftmp);
65
67
  #else
66
68
  gsl_ieee_fprintf_double(fp, &(RFLOAT(vtmp)->value));
67
69
  #endif
@@ -267,7 +267,9 @@ static VALUE rb_gsl_integration_qng(int argc, VALUE *argv, VALUE obj)
267
267
  double result, abserr;
268
268
  size_t neval;
269
269
  gsl_function *F = NULL;
270
- int status, itmp;
270
+ int status;
271
+ // local variable 'itmp' declared and set, but never used
272
+ //int itmp;
271
273
 
272
274
  if (argc < 1) rb_raise(rb_eArgError,
273
275
  "wrong number of arguments (%d for >= 1)", argc);
@@ -276,10 +278,10 @@ static VALUE rb_gsl_integration_qng(int argc, VALUE *argv, VALUE obj)
276
278
  case T_MODULE: case T_CLASS: case T_OBJECT:
277
279
  CHECK_FUNCTION(argv[0]);
278
280
  Data_Get_Struct(argv[0], gsl_function, F);
279
- itmp = get_a_b_epsabs_epsrel(argc, argv, 1, &a, &b, &epsabs, &epsrel);
281
+ /*itmp =*/ get_a_b_epsabs_epsrel(argc, argv, 1, &a, &b, &epsabs, &epsrel);
280
282
  break;
281
283
  default:
282
- itmp = get_a_b_epsabs_epsrel(argc, argv, 0, &a, &b, &epsabs, &epsrel);
284
+ /*itmp =*/ get_a_b_epsabs_epsrel(argc, argv, 0, &a, &b, &epsabs, &epsrel);
283
285
  Data_Get_Struct(obj, gsl_function, F);
284
286
  break;
285
287
  }
@@ -666,7 +666,6 @@ static VALUE rb_gsl_linalg_QR_LQ_decomposition(int argc, VALUE *argv, VALUE obj,
666
666
  gsl_vector *tau = NULL;
667
667
  int (*fdecomp)(gsl_matrix *, gsl_vector *);
668
668
  int itmp, status;
669
- size_t size;
670
669
  VALUE vtau, mdecomp, omatrix;
671
670
 
672
671
  switch (TYPE(obj)) {
@@ -712,7 +711,6 @@ static VALUE rb_gsl_linalg_QR_LQ_decomposition(int argc, VALUE *argv, VALUE obj,
712
711
  rb_raise(rb_eRuntimeError, "unknown operation");
713
712
  break;
714
713
  }
715
- size = m->size1;
716
714
  switch (argc - itmp) {
717
715
  case 0:
718
716
  tau = gsl_vector_alloc(GSL_MIN(mtmp->size1, mtmp->size2));
@@ -931,7 +929,7 @@ static VALUE rb_gsl_linalg_QR_LQ_lssolve(int argc, VALUE *argv, VALUE obj, int f
931
929
  gsl_matrix *m = NULL;
932
930
  gsl_vector *b = NULL, *x = NULL, *tau = NULL, *r = NULL;
933
931
  VALUE omatrix;
934
- int flagm = 0, flagt = 0, flagb = 0, flagx = 0, flagr = 0, itmp, status;
932
+ int flagm = 0, flagt = 0, flagb = 0, itmp, status;
935
933
  size_t size;
936
934
  int (*fdecomp)(gsl_matrix*, gsl_vector*);
937
935
  int (*flssolve)(const gsl_matrix*, const gsl_vector*, const gsl_vector*, gsl_vector*,
@@ -991,22 +989,17 @@ static VALUE rb_gsl_linalg_QR_LQ_lssolve(int argc, VALUE *argv, VALUE obj, int f
991
989
  case 2:
992
990
  CHECK_VECTOR(argv[argc-2]);
993
991
  Data_Get_Struct(argv[argc-2], gsl_vector, x);
994
- flagx = 0;
995
992
  CHECK_VECTOR(argv[argc-1]);
996
993
  Data_Get_Struct(argv[argc-1], gsl_vector, r);
997
- flagr = 0;
998
994
  break;
999
995
  case 1:
1000
996
  CHECK_VECTOR(argv[argc-1]);
1001
997
  Data_Get_Struct(argv[argc-1], gsl_vector, x);
1002
- flagx = 0;
1003
998
  r = gsl_vector_alloc(x->size);
1004
- flagr = 1;
1005
999
  break;
1006
1000
  case 0:
1007
1001
  x = gsl_vector_alloc(m->size1);
1008
1002
  r = gsl_vector_alloc(m->size1);
1009
- flagx = 1; flagr = 1;
1010
1003
  break;
1011
1004
  default:
1012
1005
  rb_raise(rb_eArgError, "wrong number of arguments");
@@ -2133,7 +2126,7 @@ static VALUE rb_gsl_linalg_QRLQPT_RLsvx(int argc, VALUE *argv, VALUE obj, int fl
2133
2126
  gsl_matrix *QR = NULL;
2134
2127
  gsl_vector *b = NULL;
2135
2128
  gsl_permutation *p = NULL;
2136
- int itmp, flagb = 0;
2129
+ int itmp;
2137
2130
  VALUE vtmp, klass;
2138
2131
  int (*fsvx)(const gsl_matrix*, const gsl_permutation*, gsl_vector*);
2139
2132
  switch (flag) {
@@ -2174,7 +2167,6 @@ static VALUE rb_gsl_linalg_QRLQPT_RLsvx(int argc, VALUE *argv, VALUE obj, int fl
2174
2167
  itmp++;
2175
2168
  if (TYPE(argv[itmp]) == T_ARRAY) {
2176
2169
  b = make_cvector_from_rarray(argv[itmp]);
2177
- flagb = 1;
2178
2170
  } else {
2179
2171
  CHECK_VECTOR(argv[itmp]);
2180
2172
  Data_Get_Struct(argv[itmp], gsl_vector, b);
@@ -2853,7 +2845,8 @@ static VALUE rb_gsl_linalg_bidiag_decomp(int argc, VALUE *argv, VALUE obj)
2853
2845
  gsl_matrix *A = NULL, *Atmp = NULL;
2854
2846
  gsl_vector *tau_U = NULL, *tau_V = NULL;
2855
2847
  size_t size0;
2856
- int status;
2848
+ // local variable "status" was defined and set, but never used
2849
+ //int status;
2857
2850
  VALUE vu, vv, vA;
2858
2851
 
2859
2852
  switch (TYPE(obj)) {
@@ -2870,7 +2863,7 @@ static VALUE rb_gsl_linalg_bidiag_decomp(int argc, VALUE *argv, VALUE obj)
2870
2863
  size0 = GSL_MIN(A->size1, A->size2);
2871
2864
  tau_U = gsl_vector_alloc(size0);
2872
2865
  tau_V = gsl_vector_alloc(size0-1);
2873
- status = gsl_linalg_bidiag_decomp(A, tau_U, tau_V);
2866
+ /*status =*/ gsl_linalg_bidiag_decomp(A, tau_U, tau_V);
2874
2867
  vA = Data_Wrap_Struct(cgsl_matrix, 0, gsl_matrix_free, A);
2875
2868
  vu = Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, tau_U);
2876
2869
  vv = Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, tau_V);
@@ -3320,9 +3313,10 @@ static VALUE rb_gsl_linalg_balance_columns_bang(int argc, VALUE *argv, VALUE obj
3320
3313
  gsl_matrix *A = NULL;
3321
3314
  gsl_vector *D = NULL;
3322
3315
  VALUE mat, vec;
3323
- int status;
3316
+ // local variable "status" was defined and set, but never used
3317
+ //int status;
3324
3318
  rb_gsl_linalg_balance_columns_init(argc, argv, obj, &mat, &vec, &A, &D);
3325
- status = gsl_linalg_balance_columns(A, D);
3319
+ /*status =*/ gsl_linalg_balance_columns(A, D);
3326
3320
  return rb_ary_new3(2, mat, vec);
3327
3321
  }
3328
3322
 
@@ -3331,11 +3325,12 @@ static VALUE rb_gsl_linalg_balance_columns(int argc, VALUE *argv, VALUE obj)
3331
3325
  gsl_matrix *A = NULL, *Anew;
3332
3326
  gsl_vector *D = NULL;
3333
3327
  VALUE mat, vec;
3334
- int status;
3328
+ // local variable "status" was defined and set, but never used
3329
+ //int status;
3335
3330
  rb_gsl_linalg_balance_columns_init(argc, argv, obj, &mat, &vec, &A, &D);
3336
3331
  Anew = make_matrix_clone(A);
3337
3332
  mat = Data_Wrap_Struct(cgsl_matrix, 0, gsl_matrix_free, Anew);
3338
- status = gsl_linalg_balance_columns(Anew, D);
3333
+ /*status =*/ gsl_linalg_balance_columns(Anew, D);
3339
3334
  return rb_ary_new3(2, mat, vec);
3340
3335
  }
3341
3336
 
@@ -362,7 +362,7 @@ static VALUE rb_gsl_linalg_complex_LU_lndet(int argc, VALUE *argv, VALUE obj)
362
362
  gsl_matrix_complex *m = NULL, *mtmp = NULL;
363
363
  gsl_permutation *p = NULL;
364
364
  double lndet;
365
- int flagm = 0, signum, itmp;
365
+ int flagm = 0, signum;
366
366
  switch (TYPE(obj)) {
367
367
  case T_MODULE:
368
368
  case T_CLASS:
@@ -376,7 +376,6 @@ static VALUE rb_gsl_linalg_complex_LU_lndet(int argc, VALUE *argv, VALUE obj)
376
376
  } else {
377
377
  mtmp = m;
378
378
  }
379
- itmp = 1;
380
379
  break;
381
380
  default:
382
381
  Data_Get_Struct(obj, gsl_matrix_complex, m);
@@ -387,7 +386,6 @@ static VALUE rb_gsl_linalg_complex_LU_lndet(int argc, VALUE *argv, VALUE obj)
387
386
  } else {
388
387
  mtmp = m;
389
388
  }
390
- itmp = 0;
391
389
  }
392
390
  if (flagm == 1) {
393
391
  p = gsl_permutation_alloc(m->size1);
@@ -199,7 +199,7 @@ static VALUE rb_gsl_matrix_complex_eye(int argc, VALUE *argv, VALUE klass)
199
199
  {
200
200
  size_t n, i;
201
201
  gsl_matrix_complex *m = NULL;
202
- gsl_complex z, *p = &z;
202
+ gsl_complex z, *pz = &z;
203
203
  switch (argc) {
204
204
  case 1:
205
205
  CHECK_FIXNUM(argv[0]);
@@ -223,7 +223,8 @@ static VALUE rb_gsl_matrix_complex_eye(int argc, VALUE *argv, VALUE klass)
223
223
  break;
224
224
  default:
225
225
  if (rb_obj_is_kind_of(argv[1], cgsl_complex)) {
226
- Data_Get_Struct(argv[1], gsl_complex, p);
226
+ Data_Get_Struct(argv[1], gsl_complex, pz);
227
+ z = *pz;
227
228
  } else {
228
229
  rb_raise(rb_eTypeError,
229
230
  "wrong argument type %s", rb_class2name(CLASS_OF(argv[1])));
@@ -422,6 +423,7 @@ static VALUE rb_gsl_matrix_complex_set_row(int argc, VALUE *argv, VALUE obj)
422
423
  default:
423
424
  CHECK_COMPLEX(argv[k]);
424
425
  Data_Get_Struct(argv[k], gsl_complex, pz);
426
+ z = *pz;
425
427
  break;
426
428
  }
427
429
  gsl_matrix_complex_set(A, i, k-1, z);
@@ -448,6 +450,7 @@ static VALUE rb_gsl_matrix_complex_set_col(int argc, VALUE *argv, VALUE obj)
448
450
  default:
449
451
  CHECK_COMPLEX(argv[k]);
450
452
  Data_Get_Struct(argv[k], gsl_complex, pz);
453
+ z = *pz;
451
454
  break;
452
455
  }
453
456
  gsl_matrix_complex_set(A, k-1, j, z);
@@ -1519,8 +1522,10 @@ static VALUE rb_gsl_matrix_complex_indgen_singleton(int argc, VALUE *argv, VALUE
1519
1522
  return Data_Wrap_Struct(cgsl_matrix_complex, 0, gsl_matrix_complex_free, mnew);
1520
1523
  }
1521
1524
 
1522
-
1523
- static int gsl_matrix_complex_equal(const gsl_matrix_complex *m1,
1525
+ // Starting with version 1.15, GSL provides a gsl_matrix_complex_equal
1526
+ // function, but it only determines absolute equality (i.e. is has no epsilon
1527
+ // argument).
1528
+ static int gsl_matrix_complex_equal_eps(const gsl_matrix_complex *m1,
1524
1529
  const gsl_matrix_complex *m2, double eps)
1525
1530
  {
1526
1531
  gsl_complex z1, z2;
@@ -1555,7 +1560,7 @@ static VALUE rb_gsl_matrix_complex_equal(int argc, VALUE *argv, VALUE obj)
1555
1560
  Data_Get_Struct(obj, gsl_matrix_complex, m1);
1556
1561
  CHECK_MATRIX_COMPLEX(argv[0]);
1557
1562
  Data_Get_Struct(argv[0], gsl_matrix_complex, m2);
1558
- ret = gsl_matrix_complex_equal(m1, m2, eps);
1563
+ ret = gsl_matrix_complex_equal_eps(m1, m2, eps);
1559
1564
  if (ret == 1) return Qtrue;
1560
1565
  else return Qfalse;
1561
1566
  }
@@ -71,13 +71,13 @@ enum {
71
71
  GSL_MATRIX_INT_DIV,
72
72
  };
73
73
 
74
- static VALUE rb_gsl_matrix_int_operation1(VALUE obj, VALUE other, int flag);
75
74
  static VALUE rb_gsl_matrix_int_operation1(VALUE obj, VALUE other, int flag)
76
75
  {
77
76
  gsl_matrix_int *a, *anew, *b;
78
77
  gsl_vector_int *vi, *vinew;
79
78
  double bval;
80
- int result;
79
+ // local variable "result" declared and set, but never used
80
+ //int result;
81
81
  Data_Get_Struct(obj, gsl_matrix_int, a);
82
82
  switch (TYPE(other)) {
83
83
  case T_FIXNUM:
@@ -86,16 +86,16 @@ static VALUE rb_gsl_matrix_int_operation1(VALUE obj, VALUE other, int flag)
86
86
  anew = make_matrix_int_clone(a);
87
87
  switch (flag) {
88
88
  case GSL_MATRIX_INT_ADD:
89
- result = gsl_matrix_int_add_constant(anew, bval);
89
+ /*result =*/ gsl_matrix_int_add_constant(anew, bval);
90
90
  break;
91
91
  case GSL_MATRIX_INT_SUB:
92
- result = gsl_matrix_int_add_constant(anew, -bval);
92
+ /*result =*/ gsl_matrix_int_add_constant(anew, -bval);
93
93
  break;
94
94
  case GSL_MATRIX_INT_MUL:
95
- result = gsl_matrix_int_scale(anew, bval);
95
+ /*result =*/ gsl_matrix_int_scale(anew, bval);
96
96
  break;
97
97
  case GSL_MATRIX_INT_DIV:
98
- result = gsl_matrix_int_scale(anew, 1.0/bval);
98
+ /*result =*/ gsl_matrix_int_scale(anew, 1.0/bval);
99
99
  break;
100
100
  default:
101
101
  break;
@@ -109,16 +109,16 @@ static VALUE rb_gsl_matrix_int_operation1(VALUE obj, VALUE other, int flag)
109
109
  Data_Get_Struct(other, gsl_matrix_int, b);
110
110
  switch (flag) {
111
111
  case GSL_MATRIX_INT_ADD:
112
- result = gsl_matrix_int_add(anew, b);
112
+ /*result =*/ gsl_matrix_int_add(anew, b);
113
113
  break;
114
114
  case GSL_MATRIX_INT_SUB:
115
- result = gsl_matrix_int_sub(anew, b);
115
+ /*result =*/ gsl_matrix_int_sub(anew, b);
116
116
  break;
117
117
  case GSL_MATRIX_INT_MUL:
118
- result = gsl_matrix_int_mul_elements(anew, b);
118
+ /*result =*/ gsl_matrix_int_mul_elements(anew, b);
119
119
  break;
120
120
  case GSL_MATRIX_INT_DIV:
121
- result = gsl_matrix_int_div_elements(anew, b);
121
+ /*result =*/ gsl_matrix_int_div_elements(anew, b);
122
122
  break;
123
123
  default:
124
124
  break;
@@ -875,14 +875,15 @@ static VALUE FUNCTION(rb_gsl_matrix,to_s)(VALUE obj)
875
875
  char buf[32], format[32], format2[32];
876
876
  size_t i, j;
877
877
  VALUE str;
878
- BASE x, min;
878
+ BASE x;
879
879
  int dig = 8;
880
880
  #ifdef BASE_INT
881
+ BASE min;
881
882
  BASE max;
882
883
  #endif
883
884
  Data_Get_Struct(obj, GSL_TYPE(gsl_matrix), m);
884
- min = FUNCTION(gsl_matrix,min)(m);
885
885
  #ifdef BASE_INT
886
+ min = FUNCTION(gsl_matrix,min)(m);
886
887
  max = gsl_matrix_int_max(m);
887
888
  dig = (int) GSL_MAX(fabs(max),fabs(min));
888
889
  if (dig > 0) dig = ceil(log10(dig+1e-10));
@@ -354,14 +354,15 @@ static VALUE rb_gsl_multifit_fdfsolver_gradient(int argc, VALUE *argv, VALUE obj
354
354
  {
355
355
  gsl_multifit_fdfsolver *solver = NULL;
356
356
  gsl_vector *g = NULL;
357
- int status;
357
+ // local variable "status" declared and set, but never used
358
+ //int status;
358
359
  Data_Get_Struct(obj, gsl_multifit_fdfsolver, solver);
359
360
  if (argc == 1) {
360
361
  Data_Get_Vector(argv[0], g);
361
362
  return INT2FIX(gsl_multifit_gradient(solver->J, solver->f, g));
362
363
  } else {
363
364
  g = gsl_vector_alloc(solver->x->size);
364
- status = gsl_multifit_gradient(solver->J, solver->f, g);
365
+ /*status =*/ gsl_multifit_gradient(solver->J, solver->f, g);
365
366
  return Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, g);
366
367
  }
367
368
  }
@@ -371,7 +372,8 @@ static VALUE rb_gsl_multifit_fdfsolver_covar(int argc, VALUE *argv, VALUE obj)
371
372
  gsl_multifit_fdfsolver *solver = NULL;
372
373
  gsl_matrix *covar = NULL;
373
374
  double epsrel;
374
- int status;
375
+ // local variable "status" declared and set, but never used
376
+ //int status;
375
377
  if (argc < 1) rb_raise(rb_eArgError, "too few arguments");
376
378
  Need_Float(argv[0]);
377
379
  Data_Get_Struct(obj, gsl_multifit_fdfsolver, solver);
@@ -379,7 +381,7 @@ static VALUE rb_gsl_multifit_fdfsolver_covar(int argc, VALUE *argv, VALUE obj)
379
381
  switch (argc) {
380
382
  case 1:
381
383
  covar = gsl_matrix_alloc(solver->x->size, solver->x->size);
382
- status = gsl_multifit_covar(solver->J, epsrel, covar);
384
+ /*status =*/ gsl_multifit_covar(solver->J, epsrel, covar);
383
385
  return Data_Wrap_Struct(cgsl_matrix, 0, gsl_matrix_free, covar);
384
386
  break;
385
387
  case 2:
@@ -442,13 +444,14 @@ static VALUE rb_gsl_multifit_gradient(int argc, VALUE *argv, VALUE obj)
442
444
  {
443
445
  gsl_vector *g = NULL, *f = NULL;
444
446
  gsl_matrix *J = NULL;
445
- int status;
447
+ // local variable "status" declared and set, but never used
448
+ //int status;
446
449
  switch (argc) {
447
450
  case 2:
448
451
  Data_Get_Matrix(argv[0], J);
449
452
  Data_Get_Vector(argv[1], f);
450
453
  g = gsl_vector_alloc(f->size);
451
- status = gsl_multifit_gradient(J, f, g);
454
+ /*status =*/ gsl_multifit_gradient(J, f, g);
452
455
  return Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, g);
453
456
  break;
454
457
  case 3:
@@ -474,7 +477,7 @@ static VALUE rb_gsl_multifit_covar(int argc, VALUE *argv, VALUE obj)
474
477
  Data_Get_Matrix(argv[0], J);
475
478
  epsrel = NUM2DBL(argv[1]);
476
479
  covar = gsl_matrix_alloc(J->size2, J->size2);
477
- status = gsl_multifit_covar(J, epsrel, covar);
480
+ /*status =*/ gsl_multifit_covar(J, epsrel, covar);
478
481
  return Data_Wrap_Struct(cgsl_matrix, 0, gsl_matrix_free, covar);
479
482
  break;
480
483
  case 3:
@@ -783,10 +786,9 @@ static int Gaussian_df(const gsl_vector *v, void *data, gsl_matrix *J)
783
786
  double A, x0, var, xi, yy, wi;
784
787
  size_t i;
785
788
  struct fitting_xydata *xydata;
786
- gsl_vector *x, *y, *w;
789
+ gsl_vector *x, *w;
787
790
  xydata = (struct fitting_xydata*) data;
788
791
  x = xydata->x;
789
- y = xydata->y;
790
792
  w = xydata->w;
791
793
  var = gsl_vector_get(v, 3);
792
794
  x0 = gsl_vector_get(v, 2);
@@ -854,10 +856,9 @@ static int Gaussian_2peaks_df(const gsl_vector *v, void *data, gsl_matrix *J)
854
856
  double A1, x01, var1, A2, x02, var2, xi, yy, wi;
855
857
  size_t i;
856
858
  struct fitting_xydata *xydata;
857
- gsl_vector *x, *y, *w;
859
+ gsl_vector *x, *w;
858
860
  xydata = (struct fitting_xydata*) data;
859
861
  x = xydata->x;
860
- y = xydata->y;
861
862
  w = xydata->w;
862
863
  A1 = gsl_vector_get(v, 1);
863
864
  x01 = gsl_vector_get(v, 2);
@@ -925,10 +926,9 @@ static int Exponential_df(const gsl_vector *v, void *data, gsl_matrix *J)
925
926
  double A, b, xi, yy, wi;
926
927
  size_t i;
927
928
  struct fitting_xydata *xydata;
928
- gsl_vector *x, *y, *w;
929
+ gsl_vector *x, *w;
929
930
  xydata = (struct fitting_xydata*) data;
930
931
  x = xydata->x;
931
- y = xydata->y;
932
932
  w = xydata->w;
933
933
  A = gsl_vector_get(v, 1);
934
934
  b = gsl_vector_get(v, 2);
@@ -991,10 +991,9 @@ static int DblExponential_df(const gsl_vector *v, void *data, gsl_matrix *J)
991
991
  double A1, b1, A2, b2, xi, yy1, yy2, wi;
992
992
  size_t i;
993
993
  struct fitting_xydata *xydata;
994
- gsl_vector *x, *y, *w;
994
+ gsl_vector *x, *w;
995
995
  xydata = (struct fitting_xydata*) data;
996
996
  x = xydata->x;
997
- y = xydata->y;
998
997
  w = xydata->w;
999
998
  A1 = gsl_vector_get(v, 1);
1000
999
  b1 = gsl_vector_get(v, 2);
@@ -1059,10 +1058,9 @@ static int Lorentzian_df(const gsl_vector *v, void *data, gsl_matrix *J)
1059
1058
  double A, B, x0, xi, yy, wi;
1060
1059
  size_t i;
1061
1060
  struct fitting_xydata *xydata;
1062
- gsl_vector *x, *y, *w;
1061
+ gsl_vector *x, *w;
1063
1062
  xydata = (struct fitting_xydata*) data;
1064
1063
  x = xydata->x;
1065
- y = xydata->y;
1066
1064
  w = xydata->w;
1067
1065
  A = gsl_vector_get(v, 1);
1068
1066
  x0 = gsl_vector_get(v, 2);
@@ -1124,10 +1122,9 @@ static int Sin_df(const gsl_vector *v, void *data, gsl_matrix *J)
1124
1122
  double A, fc, phi, xi, ys, yc, wi;
1125
1123
  size_t i;
1126
1124
  struct fitting_xydata *xydata;
1127
- gsl_vector *x, *y, *w;
1125
+ gsl_vector *x, *w;
1128
1126
  xydata = (struct fitting_xydata*) data;
1129
1127
  x = xydata->x;
1130
- y = xydata->y;
1131
1128
  w = xydata->w;
1132
1129
  A = gsl_vector_get(v, 1);
1133
1130
  fc = gsl_vector_get(v, 2);
@@ -1190,10 +1187,9 @@ static int Hill_df(const gsl_vector *v, void *data, gsl_matrix *J)
1190
1187
  double y0, m, xhalf, r, yy, xi, wi, a;
1191
1188
  size_t i;
1192
1189
  struct fitting_xydata *xydata;
1193
- gsl_vector *x, *y, *w;
1190
+ gsl_vector *x, *w;
1194
1191
  xydata = (struct fitting_xydata*) data;
1195
1192
  x = xydata->x;
1196
- y = xydata->y;
1197
1193
  w = xydata->w;
1198
1194
  y0 = gsl_vector_get(v, 0);
1199
1195
  m = gsl_vector_get(v, 1);
@@ -1257,10 +1253,9 @@ static int Sigmoid_df(const gsl_vector *v, void *data, gsl_matrix *J)
1257
1253
  double m, x0, r, xi, wi, a, yy;
1258
1254
  size_t i;
1259
1255
  struct fitting_xydata *xydata;
1260
- gsl_vector *x, *y, *w;
1256
+ gsl_vector *x, *w;
1261
1257
  xydata = (struct fitting_xydata*) data;
1262
1258
  x = xydata->x;
1263
- y = xydata->y;
1264
1259
  w = xydata->w;
1265
1260
  m = gsl_vector_get(v, 1);
1266
1261
  x0 = gsl_vector_get(v, 2);
@@ -1322,10 +1317,9 @@ static int Power_df(const gsl_vector *v, void *data, gsl_matrix *J)
1322
1317
  double A, r, xi, wi, a;
1323
1318
  size_t i;
1324
1319
  struct fitting_xydata *xydata;
1325
- gsl_vector *x, *y, *w;
1320
+ gsl_vector *x, *w;
1326
1321
  xydata = (struct fitting_xydata*) data;
1327
1322
  x = xydata->x;
1328
- y = xydata->y;
1329
1323
  w = xydata->w;
1330
1324
  A = gsl_vector_get(v, 1);
1331
1325
  r = gsl_vector_get(v, 2);
@@ -1387,10 +1381,9 @@ static int Lognormal_df(const gsl_vector *v, void *data, gsl_matrix *J)
1387
1381
  double A, x0, width, xi, wi, a, b;
1388
1382
  size_t i;
1389
1383
  struct fitting_xydata *xydata;
1390
- gsl_vector *x, *y, *w;
1384
+ gsl_vector *x, *w;
1391
1385
  xydata = (struct fitting_xydata*) data;
1392
1386
  x = xydata->x;
1393
- y = xydata->y;
1394
1387
  w = xydata->w;
1395
1388
  A = gsl_vector_get(v, 1);
1396
1389
  x0 = gsl_vector_get(v, 2);
@@ -1449,10 +1442,9 @@ static int Rayleigh_df(const gsl_vector *v, void *data, gsl_matrix *J)
1449
1442
  double A, var, xi, yy, wi;
1450
1443
  size_t i;
1451
1444
  struct fitting_xydata *xydata;
1452
- gsl_vector *x, *y, *w;
1445
+ gsl_vector *x, *w;
1453
1446
  xydata = (struct fitting_xydata*) data;
1454
1447
  x = xydata->x;
1455
- y = xydata->y;
1456
1448
  w = xydata->w;
1457
1449
  var = gsl_vector_get(v, 1);
1458
1450
  A = gsl_vector_get(v, 0);