gsl 1.14.7 → 1.15.3

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 (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
@@ -403,14 +403,12 @@ void rb_gsl_multimin_function_fdf_df(const gsl_vector *x, void *p,
403
403
  void rb_gsl_multimin_function_fdf_fdf(const gsl_vector *x, void *p,
404
404
  double *f, gsl_vector *g)
405
405
  {
406
- VALUE vx, vf, vg, proc_fdf, proc_f, proc_df, vp, ary, result;
406
+ VALUE vx, vg, proc_f, proc_df, vp, ary, result;
407
407
  vx = Data_Wrap_Struct(cgsl_vector, 0, NULL, (gsl_vector *) x);
408
408
  vg = Data_Wrap_Struct(cgsl_vector, 0, NULL, g);
409
- vf = rb_float_new(*f);
410
409
  ary = (VALUE) p;
411
410
  proc_f = rb_ary_entry(ary, 0);
412
411
  proc_df = rb_ary_entry(ary, 1);
413
- proc_fdf = rb_ary_entry(ary, 2);
414
412
  vp = rb_ary_entry(ary, RARRAY_LEN(ary)-1);
415
413
  if (NIL_P(vp)) {
416
414
  result = rb_funcall(proc_f, RBGSL_ID_call, 1, vx);
@@ -81,7 +81,8 @@ static int calc_jac(double t, const double y[], double *dfdy, double dfdt[], voi
81
81
  static int calc_func(double t, const double y[], double dydt[], void *data)
82
82
  {
83
83
  VALUE ary, params, proc;
84
- VALUE result;
84
+ // local variable "result" declared and set, but never used
85
+ //VALUE result;
85
86
  VALUE vy, vdydt;
86
87
  gsl_vector_view ytmp, dydttmp;
87
88
  size_t dim;
@@ -100,9 +101,9 @@ static int calc_func(double t, const double y[], double dydt[], void *data)
100
101
  vy = Data_Wrap_Struct(cgsl_vector_view_ro, 0, NULL, &ytmp);
101
102
  vdydt = Data_Wrap_Struct(cgsl_vector_view, 0, NULL, &dydttmp);
102
103
 
103
- if (NIL_P(params)) result = rb_funcall((VALUE) proc, RBGSL_ID_call, 3, rb_float_new(t),
104
+ if (NIL_P(params)) /*result =*/ rb_funcall((VALUE) proc, RBGSL_ID_call, 3, rb_float_new(t),
104
105
  vy, vdydt);
105
- else result = rb_funcall((VALUE) proc, RBGSL_ID_call, 4, rb_float_new(t), vy, vdydt, params);
106
+ else /*result =*/ rb_funcall((VALUE) proc, RBGSL_ID_call, 4, rb_float_new(t), vy, vdydt, params);
106
107
 
107
108
  return GSL_SUCCESS;
108
109
  }
@@ -110,7 +111,9 @@ static int calc_func(double t, const double y[], double dydt[], void *data)
110
111
  static int calc_jac(double t, const double y[], double *dfdy, double dfdt[], void *data)
111
112
  {
112
113
  VALUE params, proc, ary;
113
- VALUE result, vdfdt;
114
+ VALUE vdfdt;
115
+ // local variable "result" declared and set, but never used
116
+ //VALUE result;
114
117
  VALUE vy, vmjac;
115
118
  gsl_vector_view ytmp, dfdttmp;
116
119
  gsl_matrix_view mv;
@@ -133,9 +136,9 @@ static int calc_jac(double t, const double y[], double *dfdy, double dfdt[], voi
133
136
  vy = Data_Wrap_Struct(cgsl_vector_view_ro, 0, NULL, &ytmp);
134
137
  vmjac = Data_Wrap_Struct(cgsl_matrix_view, 0, NULL, &mv);
135
138
  vdfdt = Data_Wrap_Struct(cgsl_vector_view, 0, NULL, &dfdttmp);
136
- if (NIL_P(params)) result = rb_funcall((VALUE) proc, RBGSL_ID_call, 4, rb_float_new(t),
139
+ if (NIL_P(params)) /*result =*/ rb_funcall((VALUE) proc, RBGSL_ID_call, 4, rb_float_new(t),
137
140
  vy, vmjac, vdfdt);
138
- else result = rb_funcall((VALUE) proc, RBGSL_ID_call, 5, rb_float_new(t),
141
+ else /*result =*/ rb_funcall((VALUE) proc, RBGSL_ID_call, 5, rb_float_new(t),
139
142
  vy, vmjac, vdfdt, params);
140
143
  return GSL_SUCCESS;
141
144
  }
@@ -466,9 +466,16 @@ static VALUE FUNCTION(rb_gsl_poly,solve_quadratic)(int argc, VALUE *argv, VALUE
466
466
  "wrong number of arguments (3 numbers or 1 array or 1 vector)");
467
467
  break;
468
468
  }
469
- r = gsl_vector_alloc(2);
470
- gsl_vector_set(r, 0, x0);
471
- gsl_vector_set(r, 1, x1);
469
+ // If n == 0, we want to return an empty gsl_vector, but gsl_vectors can'y be
470
+ // empty, so just return an empty Array.
471
+ if(n == 0) {
472
+ return rb_ary_new();
473
+ }
474
+ r = gsl_vector_alloc(n);
475
+ switch(n) {
476
+ case 2: gsl_vector_set(r, 1, x1); /* fall through */
477
+ case 1: gsl_vector_set(r, 0, x0);
478
+ }
472
479
  return Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, r);
473
480
  }
474
481
 
@@ -507,9 +514,16 @@ static VALUE FUNCTION(rb_gsl_poly,complex_solve_quadratic)(int argc, VALUE *argv
507
514
  "wrong number of arguments (3 numbers or 1 array or 1 vector)");
508
515
  break;
509
516
  }
510
- r = gsl_vector_complex_alloc(2);
511
- gsl_vector_complex_set(r, 0, z0);
512
- gsl_vector_complex_set(r, 1, z1);
517
+ // If n == 0, we want to return an empty gsl_vector, but gsl_vectors can'y be
518
+ // empty, so just return an empty Array.
519
+ if(n == 0) {
520
+ return rb_ary_new();
521
+ }
522
+ r = gsl_vector_complex_alloc(n);
523
+ switch(n) {
524
+ case 2: gsl_vector_complex_set(r, 1, z1); /* fall through */
525
+ case 1: gsl_vector_complex_set(r, 0, z0);
526
+ }
513
527
  return Data_Wrap_Struct(cgsl_vector_complex, 0, gsl_vector_complex_free, r);
514
528
  }
515
529
 
@@ -547,10 +561,12 @@ static VALUE FUNCTION(rb_gsl_poly,solve_cubic)(int argc, VALUE *argv, VALUE obj)
547
561
  "wrong number of arguments (3 numbers or 1 array or 1 vector)");
548
562
  break;
549
563
  }
550
- r = gsl_vector_alloc(3);
551
- gsl_vector_set(r, 0, x0);
552
- gsl_vector_set(r, 1, x1);
553
- gsl_vector_set(r, 2, x2);
564
+ r = gsl_vector_alloc(n);
565
+ switch(n) {
566
+ case 3: gsl_vector_set(r, 2, x2); /* fall through */
567
+ case 2: gsl_vector_set(r, 1, x1); /* fall through */
568
+ case 1: gsl_vector_set(r, 0, x0);
569
+ }
554
570
  return Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, r);
555
571
  }
556
572
 
@@ -588,10 +604,12 @@ static VALUE FUNCTION(rb_gsl_poly,complex_solve_cubic)(int argc, VALUE *argv, VA
588
604
  "wrong number of arguments (3 numbers or 1 array or 1 vector)");
589
605
  break;
590
606
  }
591
- r = gsl_vector_complex_alloc(3);
592
- gsl_vector_complex_set(r, 0, z0);
593
- gsl_vector_complex_set(r, 1, z1);
594
- gsl_vector_complex_set(r, 2, z2);
607
+ r = gsl_vector_complex_alloc(n);
608
+ switch(n) {
609
+ case 3: gsl_vector_complex_set(r, 2, z2); /* fall through */
610
+ case 2: gsl_vector_complex_set(r, 1, z1); /* fall through */
611
+ case 1: gsl_vector_complex_set(r, 0, z0);
612
+ }
595
613
  return Data_Wrap_Struct(cgsl_vector_complex, 0, gsl_vector_complex_free, r);
596
614
  }
597
615
 
@@ -633,11 +651,13 @@ static VALUE FUNCTION(rb_gsl_poly,solve_quartic)(int argc, VALUE *argv, VALUE ob
633
651
  "wrong number of arguments (3 numbers or 1 array or 1 vector)");
634
652
  break;
635
653
  }
636
- r = gsl_vector_alloc(4);
637
- gsl_vector_set(r, 0, x0);
638
- gsl_vector_set(r, 1, x1);
639
- gsl_vector_set(r, 2, x2);
640
- gsl_vector_set(r, 3, x3);
654
+ r = gsl_vector_alloc(n);
655
+ switch(n) {
656
+ case 4: gsl_vector_set(r, 3, x3); /* fall through */
657
+ case 3: gsl_vector_set(r, 2, x2); /* fall through */
658
+ case 2: gsl_vector_set(r, 1, x1); /* fall through */
659
+ case 1: gsl_vector_set(r, 0, x0);
660
+ }
641
661
  return Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, r);
642
662
  }
643
663
 
@@ -678,11 +698,13 @@ static VALUE FUNCTION(rb_gsl_poly,complex_solve_quartic)(int argc, VALUE *argv,
678
698
  "wrong number of arguments (3 numbers or 1 array or 1 vector)");
679
699
  break;
680
700
  }
681
- r = gsl_vector_complex_alloc(4);
682
- gsl_vector_complex_set(r, 0, z0);
683
- gsl_vector_complex_set(r, 1, z1);
684
- gsl_vector_complex_set(r, 2, z2);
685
- gsl_vector_complex_set(r, 3, z3);
701
+ r = gsl_vector_complex_alloc(n);
702
+ switch(n) {
703
+ case 4: gsl_vector_complex_set(r, 0, z0); /* fall through */
704
+ case 3: gsl_vector_complex_set(r, 1, z1); /* fall through */
705
+ case 2: gsl_vector_complex_set(r, 2, z2); /* fall through */
706
+ case 1: gsl_vector_complex_set(r, 3, z3);
707
+ }
686
708
  return Data_Wrap_Struct(cgsl_vector_complex, 0, gsl_vector_complex_free, r);
687
709
  }
688
710
 
@@ -696,7 +718,9 @@ VALUE FUNCTION(rb_gsl_poly,complex_solve)(int argc, VALUE *argv, VALUE obj)
696
718
  gsl_vector *a = NULL, *z = NULL;
697
719
  gsl_complex c;
698
720
  gsl_vector_complex *r = NULL;
699
- int status, i, flag = 0;
721
+ int i, flag = 0;
722
+ // local variable "status" declared and set, but never used
723
+ //int status;
700
724
 
701
725
  switch (argc) {
702
726
  case 1:
@@ -747,7 +771,7 @@ VALUE FUNCTION(rb_gsl_poly,complex_solve)(int argc, VALUE *argv, VALUE obj)
747
771
  w = gsl_poly_complex_workspace_alloc(size);
748
772
  flag = 1;
749
773
  }
750
- status = gsl_poly_complex_solve(a->data, size, w, z->data);
774
+ /*status =*/ gsl_poly_complex_solve(a->data, size, w, z->data);
751
775
 
752
776
  if (flag == 1) gsl_poly_complex_workspace_free(w);
753
777
  gsl_vector_free(a);
@@ -783,15 +807,19 @@ static VALUE FUNCTION(rb_gsl_poly,solve_quadratic2)(VALUE obj)
783
807
  d = a1*a1 - 4.0*a2*a0; /* determinant */
784
808
  if (d >= 0.0) {
785
809
  n = gsl_poly_solve_quadratic(a2, a1, a0, &x0, &x1);
786
- r = gsl_vector_alloc(2);
787
- gsl_vector_set(r, 0, x0);
788
- gsl_vector_set(r, 1, x1);
810
+ r = gsl_vector_alloc(n);
811
+ switch(n) {
812
+ case 2: gsl_vector_set(r, 1, x1); /* fall through */
813
+ case 1: gsl_vector_set(r, 0, x0);
814
+ }
789
815
  return Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, r);
790
816
  } else {
791
817
  n = gsl_poly_complex_solve_quadratic(a2, a1, a0, &z0, &z1);
792
- r2 = gsl_vector_complex_alloc(2);
793
- gsl_vector_complex_set(r2, 0, z0);
794
- gsl_vector_complex_set(r2, 1, z1);
818
+ r2 = gsl_vector_complex_alloc(n);
819
+ switch(n) {
820
+ case 2: gsl_vector_complex_set(r2, 1, z1); /* fall through */
821
+ case 1: gsl_vector_complex_set(r2, 0, z0);
822
+ }
795
823
  return Data_Wrap_Struct(cgsl_vector_complex, 0, gsl_vector_complex_free, r2);
796
824
  }
797
825
 
@@ -803,7 +831,6 @@ static VALUE FUNCTION(rb_gsl_poly,complex_solve_quadratic2)(VALUE obj)
803
831
  GSL_TYPE(gsl_vector) *v = NULL;
804
832
  gsl_vector_complex *r = NULL;
805
833
  double a2, a1, a0;
806
- double d; /* determinant */
807
834
  int n;
808
835
  gsl_complex z0, z1;
809
836
  Data_Get_Struct(obj, GSL_TYPE(gsl_vector), v);
@@ -813,11 +840,12 @@ static VALUE FUNCTION(rb_gsl_poly,complex_solve_quadratic2)(VALUE obj)
813
840
  a2 = FUNCTION(gsl_vector,get)(v, 2); /* coefficients */
814
841
  a1 = FUNCTION(gsl_vector,get)(v, 1);
815
842
  a0 = FUNCTION(gsl_vector,get)(v, 0);
816
- d = a1*a1 - 4.0*a2*a0; /* determinant */
817
843
  n = gsl_poly_complex_solve_quadratic(a2, a1, a0, &z0, &z1);
818
- r = gsl_vector_complex_alloc(2);
819
- gsl_vector_complex_set(r, 0, z0);
820
- gsl_vector_complex_set(r, 1, z1);
844
+ r = gsl_vector_complex_alloc(n);
845
+ switch(n) {
846
+ case 2: gsl_vector_complex_set(r, 1, z1); /* fall through */
847
+ case 1: gsl_vector_complex_set(r, 0, z0);
848
+ }
821
849
  return Data_Wrap_Struct(cgsl_vector_complex, 0, gsl_vector_complex_free, r);
822
850
  }
823
851
 
@@ -839,10 +867,12 @@ static VALUE FUNCTION(rb_gsl_poly,solve_cubic2)(VALUE obj)
839
867
  a1 = FUNCTION(gsl_vector,get)(v, 1)/a3;
840
868
  a0 = FUNCTION(gsl_vector,get)(v, 0)/a3;
841
869
  n = gsl_poly_solve_cubic(a2, a1, a0, &x0, &x1, &x2);
842
- r = gsl_vector_alloc(3);
843
- gsl_vector_set(r, 0, x0);
844
- gsl_vector_set(r, 1, x1);
845
- gsl_vector_set(r, 2, x2);
870
+ r = gsl_vector_alloc(n);
871
+ switch(n) {
872
+ case 3: gsl_vector_set(r, 2, x2); /* fall through */
873
+ case 2: gsl_vector_set(r, 1, x1); /* fall through */
874
+ case 1: gsl_vector_set(r, 0, x0);
875
+ }
846
876
  return Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, r);
847
877
  }
848
878
 
@@ -862,10 +892,12 @@ static VALUE FUNCTION(rb_gsl_poly,complex_solve_cubic2)(VALUE obj)
862
892
  a1 = FUNCTION(gsl_vector,get)(v, 1)/a3;
863
893
  a0 = FUNCTION(gsl_vector,get)(v, 0)/a3;
864
894
  n = gsl_poly_complex_solve_cubic(a2, a1, a0, &z0, &z1, &z2);
865
- r = gsl_vector_complex_alloc(3);
866
- gsl_vector_complex_set(r, 0, z0);
867
- gsl_vector_complex_set(r, 1, z1);
868
- gsl_vector_complex_set(r, 2, z2);
895
+ r = gsl_vector_complex_alloc(n);
896
+ switch(n) {
897
+ case 3: gsl_vector_complex_set(r, 2, z2); /* fall through */
898
+ case 2: gsl_vector_complex_set(r, 1, z1); /* fall through */
899
+ case 1: gsl_vector_complex_set(r, 0, z0);
900
+ }
869
901
  return Data_Wrap_Struct(cgsl_vector_complex, 0, gsl_vector_complex_free, r);
870
902
  }
871
903
 
@@ -934,7 +966,9 @@ VALUE FUNCTION(rb_gsl_poly,complex_solve2)(int argc, VALUE *argv, VALUE obj)
934
966
  gsl_poly_complex_workspace *w = NULL;
935
967
  gsl_complex c;
936
968
  gsl_vector_complex *r = NULL;
937
- int n, flag = 0;
969
+ int flag = 0;
970
+ // local variable "status" declared and set, but never used
971
+ //int status;
938
972
 
939
973
  Data_Get_Struct(obj, GSL_TYPE(gsl_vector), v);
940
974
  size = v->size;
@@ -953,7 +987,7 @@ VALUE FUNCTION(rb_gsl_poly,complex_solve2)(int argc, VALUE *argv, VALUE obj)
953
987
  flag = 1;
954
988
  }
955
989
 
956
- n = gsl_poly_complex_solve(a->data, size, w, z->data);
990
+ /*status =*/ gsl_poly_complex_solve(a->data, size, w, z->data);
957
991
 
958
992
  r = gsl_vector_complex_alloc(size - 1);
959
993
  for (i = 0; i < size - 1; i++) {
@@ -1584,16 +1618,12 @@ static VALUE rb_gsl_poly_wfit(int argc, VALUE *argv, VALUE obj)
1584
1618
  gsl_multifit_linear_workspace *space = NULL;
1585
1619
  gsl_matrix *X = NULL, *cov = NULL;
1586
1620
  gsl_vector *x, *y = NULL, *w, *c = NULL;
1587
- gsl_vector_view xx, yy, ww;
1588
1621
  size_t order, i, j;
1589
1622
  double chisq, val;
1590
1623
  int status, flag = 0;
1591
1624
  VALUE vc, vcov;
1592
1625
  if (argc != 4 && argc != 5)
1593
1626
  rb_raise(rb_eArgError, "wrong number of arguments (%d for 4 or 5)", argc);
1594
- x = &xx.vector;
1595
- w = &ww.vector;
1596
- y = &yy.vector;
1597
1627
  Data_Get_Vector(argv[0], x);
1598
1628
  Data_Get_Vector(argv[1], w);
1599
1629
  Data_Get_Vector(argv[2], y);
@@ -1615,7 +1645,7 @@ static VALUE rb_gsl_poly_wfit(int argc, VALUE *argv, VALUE obj)
1615
1645
  gsl_matrix_set(X, i, j, val);
1616
1646
  }
1617
1647
  }
1618
- status = gsl_multifit_linear(X, y, c, cov, &chisq, space);
1648
+ status = gsl_multifit_wlinear(X, w, y, c, cov, &chisq, space);
1619
1649
  if (flag == 1) gsl_multifit_linear_free(space);
1620
1650
  vc = Data_Wrap_Struct(cgsl_poly, 0, gsl_vector_free, c);
1621
1651
  vcov = Data_Wrap_Struct(cgsl_matrix, 0, gsl_matrix_free, cov);
@@ -288,14 +288,16 @@ static VALUE rb_gsl_sf_bessel_jl_e(VALUE obj, VALUE n, VALUE x)
288
288
  static VALUE rb_gsl_sf_bessel_xl_array(VALUE obj, VALUE n1, VALUE x,
289
289
  int (*f)(int, double, double[]))
290
290
  {
291
- int nmax, n, status;
291
+ int nmax, n;
292
+ // local variable "status" declared and set, but never used
293
+ //int status;
292
294
  gsl_vector *v = NULL;
293
295
  CHECK_FIXNUM(n1);
294
296
  Need_Float(x);
295
297
  nmax = FIX2INT(n1);
296
298
  n = nmax + 1;
297
299
  v = gsl_vector_alloc(n);
298
- status = (*f)(nmax, NUM2DBL(x), v->data);
300
+ /*status =*/ (*f)(nmax, NUM2DBL(x), v->data);
299
301
  return Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, v);
300
302
  }
301
303
 
@@ -465,7 +467,9 @@ static VALUE rb_gsl_sf_bessel_Jnu_e(VALUE obj, VALUE nu, VALUE x)
465
467
  static VALUE rb_gsl_sf_bessel_sequence_Jnu_e(int argc, VALUE *argv, VALUE obj)
466
468
  {
467
469
  size_t i, size;
468
- int status, flag = 0;
470
+ // local variable "status" declared and set, but never used
471
+ //int status;
472
+ int flag = 0;
469
473
  gsl_vector *v = NULL;
470
474
  gsl_mode_t mode;
471
475
  char c;
@@ -515,7 +519,7 @@ static VALUE rb_gsl_sf_bessel_sequence_Jnu_e(int argc, VALUE *argv, VALUE obj)
515
519
  flag = 0;
516
520
  break;
517
521
  }
518
- status = gsl_sf_bessel_sequence_Jnu_e(NUM2DBL(nu), mode, size, v->data);
522
+ /*status =*/ gsl_sf_bessel_sequence_Jnu_e(NUM2DBL(nu), mode, size, v->data);
519
523
  if (flag == 1) return Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, v);
520
524
  else return ary;
521
525
  }
@@ -35,11 +35,12 @@ static VALUE rb_gsl_sf_hydrogenicR_e(VALUE obj, VALUE n, VALUE l,
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
  CHECK_FIXNUM(n); CHECK_FIXNUM(l);
40
41
  Need_Float(Z); Need_Float(r);
41
42
  v = Data_Make_Struct(cgsl_sf_result, gsl_sf_result, 0, free, rslt);
42
- status = gsl_sf_hydrogenicR_e(FIX2INT(n), FIX2INT(l),
43
+ /*status =*/ gsl_sf_hydrogenicR_e(FIX2INT(n), FIX2INT(l),
43
44
  NUM2DBL(Z), NUM2DBL(r), rslt);
44
45
  return v;
45
46
  }
@@ -87,7 +88,7 @@ static VALUE rb_gsl_sf_coulomb_wave_FG_array(VALUE obj, VALUE Lmin, VALUE kmax,
87
88
  {
88
89
  double F_exponent, G_exponent;
89
90
  int status;
90
- size_t size, stride;
91
+ size_t size;
91
92
  gsl_vector *vf = NULL, *vg = NULL;
92
93
  VALUE fary, gary;
93
94
  CHECK_FIXNUM(kmax);
@@ -95,7 +96,6 @@ static VALUE rb_gsl_sf_coulomb_wave_FG_array(VALUE obj, VALUE Lmin, VALUE kmax,
95
96
  size = FIX2INT(kmax);
96
97
  vf = gsl_vector_alloc(size);
97
98
  vg = gsl_vector_alloc(size);
98
- stride = vf->stride;
99
99
 
100
100
  status = gsl_sf_coulomb_wave_FG_array(NUM2DBL(Lmin), size, NUM2DBL(eta),
101
101
  NUM2DBL(x), vf->data, vg->data,
@@ -112,7 +112,7 @@ static VALUE rb_gsl_sf_coulomb_wave_FGp_array(VALUE obj, VALUE Lmin, VALUE kmax,
112
112
  {
113
113
  double F_exponent, G_exponent;
114
114
  int status;
115
- size_t size, stride;
115
+ size_t size;
116
116
  gsl_vector *vf = NULL, *vg = NULL, *vfp = NULL, *vgp = NULL;
117
117
  VALUE fary, gary, fpary, gpary;
118
118
  CHECK_FIXNUM(kmax);
@@ -122,7 +122,6 @@ static VALUE rb_gsl_sf_coulomb_wave_FGp_array(VALUE obj, VALUE Lmin, VALUE kmax,
122
122
  vfp = gsl_vector_alloc(size);
123
123
  vg = gsl_vector_alloc(size);
124
124
  vgp = gsl_vector_alloc(size);
125
- stride = vf->stride;
126
125
 
127
126
  status = gsl_sf_coulomb_wave_FGp_array(NUM2DBL(Lmin), size, NUM2DBL(eta),
128
127
  NUM2DBL(x), vf->data, vfp->data,
@@ -165,12 +164,13 @@ static VALUE rb_gsl_sf_coulomb_CL_array(VALUE obj, VALUE Lmin, VALUE kmax,
165
164
  {
166
165
  gsl_vector *v = NULL;
167
166
  size_t size;
168
- int status;
167
+ // local variable "status" declared and set, but never used
168
+ //int status;
169
169
  CHECK_FIXNUM(kmax);
170
170
  Need_Float(Lmin); Need_Float(eta);
171
171
  size = FIX2INT(kmax);
172
172
  v = gsl_vector_alloc(size);
173
- status = gsl_sf_coulomb_CL_array(NUM2DBL(Lmin), size, NUM2DBL(eta), v->data);
173
+ /*status =*/ gsl_sf_coulomb_CL_array(NUM2DBL(Lmin), size, NUM2DBL(eta), v->data);
174
174
  return Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, v);
175
175
  }
176
176
 
@@ -25,11 +25,12 @@ static VALUE rb_gsl_sf_coupling_3j_e(VALUE obj, VALUE two_ja, VALUE two_jb, VALU
25
25
  {
26
26
  gsl_sf_result *rslt = NULL;
27
27
  VALUE v;
28
- int status;
28
+ // local variable "status" declared and set, but never used
29
+ //int status;
29
30
  CHECK_FIXNUM(two_ja); CHECK_FIXNUM(two_jb); CHECK_FIXNUM(two_jc);
30
31
  CHECK_FIXNUM(two_ma); CHECK_FIXNUM(two_mb); CHECK_FIXNUM(two_mc);
31
32
  v = Data_Make_Struct(cgsl_sf_result, gsl_sf_result, 0, free, rslt);
32
- status = gsl_sf_coupling_3j_e(FIX2INT(two_ja), FIX2INT(two_jb),
33
+ /*status =*/ gsl_sf_coupling_3j_e(FIX2INT(two_ja), FIX2INT(two_jb),
33
34
  FIX2INT(two_jc), FIX2INT(two_ma),
34
35
  FIX2INT(two_mb), FIX2INT(two_mc),
35
36
  rslt);
@@ -50,11 +51,12 @@ static VALUE rb_gsl_sf_coupling_6j_e(VALUE obj, VALUE two_ja, VALUE two_jb, VALU
50
51
  {
51
52
  gsl_sf_result *rslt = NULL;
52
53
  VALUE v;
53
- int status;
54
+ // local variable "status" declared and set, but never used
55
+ //int status;
54
56
  CHECK_FIXNUM(two_ja); CHECK_FIXNUM(two_jb); CHECK_FIXNUM(two_jc);
55
57
  CHECK_FIXNUM(two_jd); CHECK_FIXNUM(two_je); CHECK_FIXNUM(two_jf);
56
58
  v = Data_Make_Struct(cgsl_sf_result, gsl_sf_result, 0, free, rslt);
57
- status = gsl_sf_coupling_6j_e(FIX2INT(two_ja), FIX2INT(two_jb),
59
+ /*status =*/ gsl_sf_coupling_6j_e(FIX2INT(two_ja), FIX2INT(two_jb),
58
60
  FIX2INT(two_jc), FIX2INT(two_jd),
59
61
  FIX2INT(two_je), FIX2INT(two_jf),
60
62
  rslt);
@@ -83,12 +85,13 @@ static VALUE rb_gsl_sf_coupling_9j_e(VALUE obj, VALUE two_ja, VALUE two_jb,
83
85
  {
84
86
  gsl_sf_result *rslt = NULL;
85
87
  VALUE v;
86
- int status;
88
+ // local variable "status" declared and set, but never used
89
+ //int status;
87
90
  CHECK_FIXNUM(two_ja); CHECK_FIXNUM(two_jb); CHECK_FIXNUM(two_jc);
88
91
  CHECK_FIXNUM(two_jd); CHECK_FIXNUM(two_je); CHECK_FIXNUM(two_jf);
89
92
  CHECK_FIXNUM(two_jg); CHECK_FIXNUM(two_jh); CHECK_FIXNUM(two_ji);
90
93
  v = Data_Make_Struct(cgsl_sf_result, gsl_sf_result, 0, free, rslt);
91
- status = gsl_sf_coupling_9j_e(FIX2INT(two_ja), FIX2INT(two_jb),
94
+ /*status =*/ gsl_sf_coupling_9j_e(FIX2INT(two_ja), FIX2INT(two_jb),
92
95
  FIX2INT(two_jc), FIX2INT(two_jd),
93
96
  FIX2INT(two_je), FIX2INT(two_jf),
94
97
  FIX2INT(two_jg), FIX2INT(two_jh),