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
@@ -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),