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