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/multimin.c
CHANGED
@@ -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,
|
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);
|
data/ext/odeiv.c
CHANGED
@@ -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
|
-
|
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
|
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
|
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
|
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
|
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
|
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
|
}
|
data/ext/poly_source.c
CHANGED
@@ -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
|
-
|
470
|
-
|
471
|
-
|
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
|
-
|
511
|
-
|
512
|
-
|
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(
|
551
|
-
|
552
|
-
|
553
|
-
|
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(
|
592
|
-
|
593
|
-
|
594
|
-
|
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(
|
637
|
-
|
638
|
-
|
639
|
-
|
640
|
-
|
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(
|
682
|
-
|
683
|
-
|
684
|
-
|
685
|
-
|
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
|
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
|
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(
|
787
|
-
|
788
|
-
|
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(
|
793
|
-
|
794
|
-
|
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(
|
819
|
-
|
820
|
-
|
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(
|
843
|
-
|
844
|
-
|
845
|
-
|
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(
|
866
|
-
|
867
|
-
|
868
|
-
|
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
|
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
|
-
|
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 =
|
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);
|
data/ext/sf_bessel.c
CHANGED
@@ -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
|
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
|
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
|
-
|
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
|
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
|
}
|
data/ext/sf_coulomb.c
CHANGED
@@ -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
|
-
|
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
|
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
|
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
|
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
|
-
|
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
|
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
|
|
data/ext/sf_coupling.c
CHANGED
@@ -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
|
-
|
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
|
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
|
-
|
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
|
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
|
-
|
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
|
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),
|