diff -uNr rb-gsl_org/doc/combi.html rb-gsl/doc/combi.html --- rb-gsl_org/doc/combi.html 2004-04-08 01:18:35.000000000 +0900 +++ rb-gsl/doc/combi.html 2004-04-13 23:11:26.000000000 +0900 @@ -87,7 +87,7 @@
GSL::Combination#fscanf(io)
#!/usr/local/bin/ruby +#!/usr/bin/env ruby require("gsl") printf("All subsets of {0,1,2,3} by size:\n") ; diff -uNr rb-gsl_org/doc/combi.rd rb-gsl/doc/combi.rd --- rb-gsl_org/doc/combi.rd 2004-04-08 01:18:33.000000000 +0900 +++ rb-gsl/doc/combi.rd 2004-04-13 23:11:26.000000000 +0900 @@ -70,7 +70,7 @@ --- GSL::Combination#fscanf(io) == Example - #!/usr/local/bin/ruby + #!/usr/bin/env ruby require("gsl") printf("All subsets of {0,1,2,3} by size:\n") ; diff -uNr rb-gsl_org/doc/diff.html rb-gsl/doc/diff.html --- rb-gsl_org/doc/diff.html 2004-04-05 01:51:17.000000000 +0900 +++ rb-gsl/doc/diff.html 2004-04-13 23:11:26.000000000 +0900 @@ -23,7 +23,7 @@ This computes the numerical derivative of the function at the point x using an adaptive backward difference algorithm.Example
-#!/usr/local/bin/ruby +#!/usr/bin/env ruby require "gsl" f = GSL::Function.new { |x| diff -uNr rb-gsl_org/doc/diff.rd rb-gsl/doc/diff.rd --- rb-gsl_org/doc/diff.rd 2004-04-05 01:51:14.000000000 +0900 +++ rb-gsl/doc/diff.rd 2004-04-13 23:11:26.000000000 +0900 @@ -15,7 +15,7 @@ === Example - #!/usr/local/bin/ruby + #!/usr/bin/env ruby require "gsl" f = GSL::Function.new { |x| diff -uNr rb-gsl_org/doc/fit.html rb-gsl/doc/fit.html --- rb-gsl_org/doc/fit.html 2004-04-07 21:13:10.000000000 +0900 +++ rb-gsl/doc/fit.html 2004-04-13 23:11:26.000000000 +0900 @@ -107,7 +107,7 @@Examples
Linear regression
-#!/usr/local/bin/ruby +#!/usr/bin/env ruby require("gsl") include GSL::Fit @@ -128,7 +128,7 @@ cov00, cov01, cov01, cov11); printf("# chisq = %g\n", chisq);Multi-parameter fitting
-#!/usr/local/bin/ruby +#!/usr/bin/env ruby require("gsl") include GSL::MultiFit diff -uNr rb-gsl_org/doc/fit.rd rb-gsl/doc/fit.rd --- rb-gsl_org/doc/fit.rd 2004-04-07 19:42:28.000000000 +0900 +++ rb-gsl/doc/fit.rd 2004-04-13 23:11:26.000000000 +0900 @@ -96,7 +96,7 @@ == Examples === Linear regression - #!/usr/local/bin/ruby + #!/usr/bin/env ruby require("gsl") include GSL::Fit @@ -118,7 +118,7 @@ printf("# chisq = %g\n", chisq); === Multi-parameter fitting - #!/usr/local/bin/ruby + #!/usr/bin/env ruby require("gsl") include GSL::MultiFit diff -uNr rb-gsl_org/doc/min.html rb-gsl/doc/min.html --- rb-gsl_org/doc/min.html 2004-04-08 10:34:53.000000000 +0900 +++ rb-gsl/doc/min.html 2004-04-13 23:11:26.000000000 +0900 @@ -126,7 +126,7 @@assuming that the true minimum x_m^* is contained within the interval.
Example
-#!/usr/local/bin/ruby +#!/usr/bin/env ruby require("gsl") include GSL::Min diff -uNr rb-gsl_org/doc/min.rd rb-gsl/doc/min.rd --- rb-gsl_org/doc/min.rd 2004-04-08 09:55:52.000000000 +0900 +++ rb-gsl/doc/min.rd 2004-04-13 23:11:26.000000000 +0900 @@ -113,7 +113,7 @@ assuming that the true minimum x_m^* is contained within the interval. == Example - #!/usr/local/bin/ruby + #!/usr/bin/env ruby require("gsl") include GSL::Min diff -uNr rb-gsl_org/doc/monte.html rb-gsl/doc/monte.html --- rb-gsl_org/doc/monte.html 2004-04-12 15:16:54.000000000 +0900 +++ rb-gsl/doc/monte.html 2004-04-13 23:11:26.000000000 +0900 @@ -94,7 +94,7 @@
GSL::Monte::Vegas#verbose=
#!/usr/local/bin/ruby +#!/usr/bin/env ruby require("gsl") include GSL::Monte include Math diff -uNr rb-gsl_org/doc/monte.rd rb-gsl/doc/monte.rd --- rb-gsl_org/doc/monte.rd 2004-04-11 13:40:47.000000000 +0900 +++ rb-gsl/doc/monte.rd 2004-04-13 23:11:26.000000000 +0900 @@ -81,7 +81,7 @@ == Example - #!/usr/local/bin/ruby + #!/usr/bin/env ruby require("gsl") include GSL::Monte include Math diff -uNr rb-gsl_org/doc/multimin.html rb-gsl/doc/multimin.html --- rb-gsl_org/doc/multimin.html 2004-04-10 14:34:51.000000000 +0900 +++ rb-gsl/doc/multimin.html 2004-04-13 23:11:26.000000000 +0900 @@ -148,7 +148,7 @@Examples
FdfMinimizer
-#!/usr/local/bin/ruby +#!/usr/bin/env ruby require("gsl") include GSL::MultiMin @@ -186,7 +186,7 @@ printf("%5d %.5f %.5f %10.5f\n", iter, x[0], x[1], f) end while status == GSL::CONTINUE and iter < 100FMinimizer
-#!/usr/local/bin/ruby +#!/usr/bin/env ruby require("gsl") include GSL::MultiMin diff -uNr rb-gsl_org/doc/multimin.rd rb-gsl/doc/multimin.rd --- rb-gsl_org/doc/multimin.rd 2004-04-10 14:34:44.000000000 +0900 +++ rb-gsl/doc/multimin.rd 2004-04-13 23:11:26.000000000 +0900 @@ -135,7 +135,7 @@ == Examples === FdfMinimizer - #!/usr/local/bin/ruby + #!/usr/bin/env ruby require("gsl") include GSL::MultiMin @@ -174,7 +174,7 @@ end while status == GSL::CONTINUE and iter < 100 === FMinimizer - #!/usr/local/bin/ruby + #!/usr/bin/env ruby require("gsl") include GSL::MultiMin diff -uNr rb-gsl_org/doc/roots.html rb-gsl/doc/roots.html --- rb-gsl_org/doc/roots.html 2004-04-10 14:56:05.000000000 +0900 +++ rb-gsl/doc/roots.html 2004-04-13 23:11:26.000000000 +0900 @@ -146,7 +146,7 @@Example
This example is equivalent to the one found in the GSL manual, using the Brent's algorithm to solve the equation x^2 - 5 = 0.
-#!/usr/local/bin/ruby +#!/usr/bin/env ruby require "gsl" #solver = Root::FSolver.new("bisection") @@ -184,7 +184,7 @@ endThis example is an another version, using the
-FdfSolver
with the Newton-Raphson algorithm.#!/usr/local/bin/ruby +#!/usr/bin/env ruby require "gsl" f = Proc.new { |x, params| diff -uNr rb-gsl_org/doc/roots.rd rb-gsl/doc/roots.rd --- rb-gsl_org/doc/roots.rd 2004-04-10 14:55:44.000000000 +0900 +++ rb-gsl/doc/roots.rd 2004-04-13 23:11:26.000000000 +0900 @@ -144,7 +144,7 @@ This example is equivalent to the one found in the GSL manual, using the Brent's algorithm to solve the equation x^2 - 5 = 0. - #!/usr/local/bin/ruby + #!/usr/bin/env ruby require "gsl" #solver = Root::FSolver.new("bisection") @@ -184,7 +184,7 @@ This example is an another version, using the (({FdfSolver})) with the Newton-Raphson algorithm. - #!/usr/local/bin/ruby + #!/usr/bin/env ruby require "gsl" f = Proc.new { |x, params| diff -uNr rb-gsl_org/doc/stats.html rb-gsl/doc/stats.html --- rb-gsl_org/doc/stats.html 2004-04-05 01:51:25.000000000 +0900 +++ rb-gsl/doc/stats.html 2004-04-13 23:11:26.000000000 +0900 @@ -44,7 +44,7 @@
GSL::Vector#quantile_from_sorted_data
#!/usr/local/bin/ruby +#!/usr/bin/env ruby require 'gsl' include GSL diff -uNr rb-gsl_org/doc/stats.rd rb-gsl/doc/stats.rd --- rb-gsl_org/doc/stats.rd 2004-04-05 01:51:14.000000000 +0900 +++ rb-gsl/doc/stats.rd 2004-04-13 23:11:26.000000000 +0900 @@ -38,7 +38,7 @@ == Example - #!/usr/local/bin/ruby + #!/usr/bin/env ruby require 'gsl' include GSL diff -uNr rb-gsl_org/ext/Makefile rb-gsl/ext/Makefile --- rb-gsl_org/ext/Makefile 2004-04-13 11:40:50.000000000 +0900 +++ rb-gsl/ext/Makefile 2004-04-13 23:11:26.000000000 +0900 @@ -49,7 +49,7 @@ arch = powerpc-darwin sitearch = powerpc-darwin ruby_version = 1.8 -ruby = /usr/local/bin/ruby +ruby = /usr/bin/env ruby RUBY = $(ruby) RM = $(RUBY) -run -e rm -- -f MAKEDIRS = $(RUBY) -run -e mkdir -- -p diff -uNr rb-gsl_org/ext/rb_gsl_common.c rb-gsl/ext/rb_gsl_common.c --- rb-gsl_org/ext/rb_gsl_common.c 2004-04-12 19:06:12.000000000 +0900 +++ rb-gsl/ext/rb_gsl_common.c 2004-04-13 23:11:26.000000000 +0900 @@ -10,6 +10,22 @@ */ #include "rb_gsl_array.h" +#ifdef HAVE_NARRAY_H +#include "rb_gsl_with_narray.h" +#endif + +gsl_vector* get_cvector(VALUE obj) +{ + gsl_vector *v; + if (rb_obj_is_kind_of(obj, cgsl_vector)==Qtrue) + Data_Get_Struct(obj, gsl_vector, v); + else if (NA_IsArray(obj)) + v = make_cvector_from_rarrays(obj); + else + rb_raise(rb_eTypeError, + "wrong argument type %s", rb_class2name(CLASS_OF(obj))); + return v; +} VALUE make_rarray_from_cvector(gsl_vector *v) { @@ -39,6 +55,20 @@ return ary; } +gsl_vector* make_cvector_from_rarrays(VALUE ary) +{ + gsl_vector *v; + + if (TYPE(ary) == T_ARRAY) + return make_cvector_from_rarray(ary); +#ifdef HAVE_NARRAY_H + if (NA_IsNArray(ary)) + return make_cvector_from_narray(ary); +#endif + rb_raise(rb_eTypeError, + "wrong argument type %s", rb_class2name(CLASS_OF(ary))); +} + gsl_vector* make_cvector_from_rarray(VALUE ary) { gsl_vector *v; @@ -48,9 +78,7 @@ Check_Type(ary, T_ARRAY); size = RARRAY(ary)->len; v = gsl_vector_alloc(size); - for (i = 0; i < size; i++) { - gsl_vector_set(v, i, NUM2DBL(rb_ary_entry(ary, i))); - } + cvector_set_from_rarray(v, ary); return v; } @@ -60,6 +88,18 @@ for (i = 0; i < v->size; i++) gsl_vector_set(v, i, a[i]); } +void cvector_set_from_rarrays(gsl_vector *v, VALUE ary) +{ + if (TYPE(ary) == T_ARRAY) + return cvector_set_from_rarray(v, ary); +#ifdef HAVE_NARRAY_H + if (NA_IsNArray(ary)) + return cvector_set_from_narray(v, ary); +#endif + rb_raise(rb_eTypeError, + "wrong argument type %s", rb_class2name(CLASS_OF(ary))); +} + void cvector_set_from_rarray(gsl_vector *v, VALUE ary) { int i; @@ -74,6 +114,18 @@ for (i = 0; i < v->size; i++) a[i] = gsl_vector_get(v, i); } +void carray_set_from_rarrays(double *a, VALUE ary) +{ + if (TYPE(ary) == T_ARRAY) + return carray_set_from_rarray(a, ary); +#ifdef HAVE_NARRAY_H + if (NA_IsNArray(ary)) + return carray_set_from_narray(a, ary); +#endif + rb_raise(rb_eTypeError, + "wrong argument type %s", rb_class2name(CLASS_OF(ary))); +} + void carray_set_from_rarray(double *a, VALUE ary) { int i, size; diff -uNr rb-gsl_org/ext/rb_gsl_statistics.c rb-gsl/ext/rb_gsl_statistics.c --- rb-gsl_org/ext/rb_gsl_statistics.c 2004-04-13 01:01:05.000000000 +0900 +++ rb-gsl/ext/rb_gsl_statistics.c 2004-04-13 23:11:26.000000000 +0900 @@ -17,7 +17,7 @@ { gsl_vector *v; double mean; - Data_Get_Struct(obj, gsl_vector, v); + v = get_cvector(obj); mean = gsl_stats_mean(v->data, 1, v->size); return rb_float_new(mean); } @@ -26,7 +26,7 @@ { gsl_vector *v; double variance; - Data_Get_Struct(obj, gsl_vector, v); + v = get_cvector(obj); variance = gsl_stats_variance(v->data, 1, v->size); return rb_float_new(variance); } @@ -35,7 +35,7 @@ { gsl_vector *v; double variance; - Data_Get_Struct(obj, gsl_vector, v); + v = get_cvector(obj); variance = gsl_stats_variance_m(v->data, 1, v->size, NUM2DBL(m)); return rb_float_new(variance); } @@ -44,7 +44,7 @@ { gsl_vector *v; double sd; - Data_Get_Struct(obj, gsl_vector, v); + v = get_cvector(obj); sd = gsl_stats_sd(v->data, 1, v->size); return rb_float_new(sd); } @@ -53,7 +53,7 @@ { gsl_vector *v; double sd; - Data_Get_Struct(obj, gsl_vector, v); + v = get_cvector(obj); sd = gsl_stats_sd_m(v->data, 1, v->size, NUM2DBL(m)); return rb_float_new(sd); } @@ -62,7 +62,7 @@ { gsl_vector *v; double variance_with_fixed_mean; - Data_Get_Struct(obj, gsl_vector, v); + v = get_cvector(obj); variance_with_fixed_mean = gsl_stats_variance_with_fixed_mean(v->data, 1, v->size, NUM2DBL(m)); return rb_float_new(variance_with_fixed_mean); @@ -72,7 +72,7 @@ { gsl_vector *v; double sd_with_fixed_mean; - Data_Get_Struct(obj, gsl_vector, v); + v = get_cvector(obj); sd_with_fixed_mean = gsl_stats_sd_with_fixed_mean(v->data, 1, v->size, NUM2DBL(m)); return rb_float_new(sd_with_fixed_mean); } @@ -81,7 +81,7 @@ { gsl_vector *v; double absdev; - Data_Get_Struct(obj, gsl_vector, v); + v = get_cvector(obj); absdev = gsl_stats_absdev(v->data, 1, v->size); return rb_float_new(absdev); } @@ -90,7 +90,7 @@ { gsl_vector *v; double absdev; - Data_Get_Struct(obj, gsl_vector, v); + v = get_cvector(obj); absdev = gsl_stats_absdev_m(v->data, 1, v->size, NUM2DBL(m)); return rb_float_new(absdev); } @@ -99,7 +99,7 @@ { gsl_vector *v; double skew; - Data_Get_Struct(obj, gsl_vector, v); + v = get_cvector(obj); skew = gsl_stats_skew(v->data, 1, v->size); return rb_float_new(skew); } @@ -108,7 +108,7 @@ { gsl_vector *v; double skew; - Data_Get_Struct(obj, gsl_vector, v); + v = get_cvector(obj); skew = gsl_stats_skew_m_sd(v->data, 1, v->size, NUM2DBL(m), NUM2DBL(sd)); return rb_float_new(skew); } @@ -117,7 +117,7 @@ { gsl_vector *v; double kurtosis; - Data_Get_Struct(obj, gsl_vector, v); + v = get_cvector(obj); kurtosis = gsl_stats_kurtosis(v->data, 1, v->size); return rb_float_new(kurtosis); } @@ -126,7 +126,7 @@ { gsl_vector *v; double kurtosis; - Data_Get_Struct(obj, gsl_vector, v); + v = get_cvector(obj); kurtosis = gsl_stats_kurtosis_m_sd(v->data, 1, v->size, NUM2DBL(m), NUM2DBL(sd)); return rb_float_new(kurtosis); } @@ -135,7 +135,7 @@ { gsl_vector *v; double autocorrelation; - Data_Get_Struct(obj, gsl_vector, v); + v = get_cvector(obj); autocorrelation = gsl_stats_lag1_autocorrelation(v->data, 1, v->size); return rb_float_new(autocorrelation); } @@ -144,7 +144,7 @@ { gsl_vector *v; double autocorrelation; - Data_Get_Struct(obj, gsl_vector, v); + v = get_cvector(obj); autocorrelation = gsl_stats_lag1_autocorrelation_m(v->data, 1, v->size, NUM2DBL(m)); return rb_float_new(autocorrelation); } @@ -153,8 +153,8 @@ { gsl_vector *x, *y; double covariance; - Data_Get_Struct(obj, gsl_vector, x); - Data_Get_Struct(obj, gsl_vector, y); + x = get_cvector(obj); + y = get_cvector(yy); covariance = gsl_stats_covariance(x->data, 1, y->data, 1, x->size); return rb_float_new(covariance); } @@ -163,8 +163,8 @@ { gsl_vector *x, *y; double covariance; - Data_Get_Struct(obj, gsl_vector, x); - Data_Get_Struct(obj, gsl_vector, y); + x = get_cvector(obj); + y = get_cvector(yy); covariance = gsl_stats_covariance_m(x->data, 1, y->data, 1, x->size, NUM2DBL(mx), NUM2DBL(my)); return rb_float_new(covariance); @@ -174,8 +174,8 @@ { gsl_vector *v, *w; double mean; - Data_Get_Struct(obj, gsl_vector, v); - Data_Get_Struct(ww, gsl_vector, w); + v = get_cvector(obj); + w = get_cvector(ww); mean = gsl_stats_wmean(w->data, 1, v->data, 1, v->size); return rb_float_new(mean); } @@ -184,8 +184,8 @@ { gsl_vector *v, *w; double variance; - Data_Get_Struct(obj, gsl_vector, v); - Data_Get_Struct(ww, gsl_vector, w); + v = get_cvector(obj); + w = get_cvector(ww); variance = gsl_stats_wvariance(w->data, 1, v->data, 1, v->size); return rb_float_new(variance); } @@ -194,8 +194,8 @@ { gsl_vector *v, *w; double variance; - Data_Get_Struct(obj, gsl_vector, v); - Data_Get_Struct(ww, gsl_vector, w); + v = get_cvector(obj); + w = get_cvector(ww); variance = gsl_stats_wvariance_m(w->data, 1, v->data, 1, v->size, NUM2DBL(wm)); return rb_float_new(variance); } @@ -204,8 +204,8 @@ { gsl_vector *v, *w; double sd; - Data_Get_Struct(obj, gsl_vector, v); - Data_Get_Struct(ww, gsl_vector, w); + v = get_cvector(obj); + w = get_cvector(ww); sd = gsl_stats_wsd(w->data, 1, v->data, 1, v->size); return rb_float_new(sd); } @@ -214,8 +214,8 @@ { gsl_vector *v, *w; double sd; - Data_Get_Struct(obj, gsl_vector, v); - Data_Get_Struct(ww, gsl_vector, w); + v = get_cvector(obj); + w = get_cvector(ww); sd = gsl_stats_wsd_m(w->data, 1, v->data, 1, v->size, NUM2DBL(wm)); return rb_float_new(sd); } @@ -224,8 +224,8 @@ { gsl_vector *v, *w; double variance; - Data_Get_Struct(obj, gsl_vector, v); - Data_Get_Struct(ww, gsl_vector, w); + v = get_cvector(obj); + w = get_cvector(ww); variance = gsl_stats_wvariance_with_fixed_mean(w->data, 1, v->data, 1, v->size, NUM2DBL(wm)); return rb_float_new(variance); @@ -235,8 +235,8 @@ { gsl_vector *v, *w; double sd; - Data_Get_Struct(obj, gsl_vector, v); - Data_Get_Struct(ww, gsl_vector, w); + v = get_cvector(obj); + w = get_cvector(ww); sd = gsl_stats_wsd_with_fixed_mean(w->data, 1, v->data, 1, v->size, NUM2DBL(wm)); return rb_float_new(sd); @@ -246,8 +246,8 @@ { gsl_vector *v, *w; double absdev; - Data_Get_Struct(obj, gsl_vector, v); - Data_Get_Struct(ww, gsl_vector, w); + v = get_cvector(obj); + w = get_cvector(ww); absdev = gsl_stats_wabsdev(w->data, 1, v->data, 1, v->size); return rb_float_new(absdev); } @@ -256,8 +256,8 @@ { gsl_vector *v, *w; double absdev_m; - Data_Get_Struct(obj, gsl_vector, v); - Data_Get_Struct(ww, gsl_vector, w); + v = get_cvector(obj); + w = get_cvector(ww); absdev_m = gsl_stats_wabsdev_m(w->data, 1, v->data, 1, v->size, NUM2DBL(wm)); return rb_float_new(absdev_m); } @@ -266,8 +266,8 @@ { gsl_vector *v, *w; double skew; - Data_Get_Struct(obj, gsl_vector, v); - Data_Get_Struct(ww, gsl_vector, w); + v = get_cvector(obj); + w = get_cvector(ww); skew = gsl_stats_wskew(w->data, 1, v->data, 1, v->size); return rb_float_new(skew); } @@ -276,8 +276,8 @@ { gsl_vector *v, *w; double skew_m; - Data_Get_Struct(obj, gsl_vector, v); - Data_Get_Struct(ww, gsl_vector, w); + v = get_cvector(obj); + w = get_cvector(ww); skew_m = gsl_stats_wskew_m_sd(w->data, 1, v->data, 1, v->size, NUM2DBL(wm), NUM2DBL(wsd)); return rb_float_new(skew_m); @@ -287,8 +287,8 @@ { gsl_vector *v, *w; double kurtosis; - Data_Get_Struct(obj, gsl_vector, v); - Data_Get_Struct(ww, gsl_vector, w); + v = get_cvector(obj); + w = get_cvector(ww); kurtosis = gsl_stats_wkurtosis(w->data, 1, v->data, 1, v->size); return rb_float_new(kurtosis); } @@ -297,8 +297,8 @@ { gsl_vector *v, *w; double kurtosis_m; - Data_Get_Struct(obj, gsl_vector, v); - Data_Get_Struct(ww, gsl_vector, w); + v = get_cvector(obj); + w = get_cvector(ww); kurtosis_m = gsl_stats_wkurtosis_m_sd(w->data, 1, v->data, 1, v->size, NUM2DBL(wm), NUM2DBL(wsd)); return rb_float_new(kurtosis_m); @@ -308,7 +308,7 @@ { gsl_vector *v; double max; - Data_Get_Struct(obj, gsl_vector, v); + v = get_cvector(obj); max = gsl_stats_max(v->data, 1, v->size); return rb_float_new(max); } @@ -317,7 +317,7 @@ { gsl_vector *v; double min; - Data_Get_Struct(obj, gsl_vector, v); + v = get_cvector(obj); min = gsl_stats_min(v->data, 1, v->size); return rb_float_new(min); } @@ -326,7 +326,7 @@ { gsl_vector *v; double min, max; - Data_Get_Struct(obj, gsl_vector, v); + v = get_cvector(obj); gsl_stats_minmax(&min, &max, v->data, 1, v->size); return rb_ary_new3(2, rb_float_new(min), rb_float_new(max)); } @@ -335,7 +335,7 @@ { gsl_vector *v; size_t index; - Data_Get_Struct(obj, gsl_vector, v); + v = get_cvector(obj); index = gsl_stats_max_index(v->data, 1, v->size); return INT2FIX(index); } @@ -344,7 +344,7 @@ { gsl_vector *v; size_t index; - Data_Get_Struct(obj, gsl_vector, v); + v = get_cvector(obj); index = gsl_stats_min_index(v->data, 1, v->size); return INT2FIX(index); } @@ -353,7 +353,7 @@ { gsl_vector *v; size_t imin, imax; - Data_Get_Struct(obj, gsl_vector, v); + v = get_cvector(obj); gsl_stats_minmax_index(&imin, &imax, v->data, 1, v->size); return rb_ary_new3(2, INT2FIX(imin), INT2FIX(imax)); } @@ -362,7 +362,7 @@ { gsl_vector *v; double median; - Data_Get_Struct(obj, gsl_vector, v); + v = get_cvector(obj); median = gsl_stats_median_from_sorted_data(v->data, 1, v->size); return rb_float_new(median); } @@ -371,7 +371,7 @@ { gsl_vector *v; double quantile; - Data_Get_Struct(obj, gsl_vector, v); + v = get_cvector(obj); quantile = gsl_stats_quantile_from_sorted_data(v->data, 1, v->size, NUM2DBL(f)); return rb_float_new(quantile); } @@ -379,8 +379,8 @@ static VALUE rb_gsl_stats_covariance2(VALUE obj, VALUE vv1, VALUE vv2) { gsl_vector *v1, *v2; - Data_Get_Struct(vv1, gsl_vector, v1); - Data_Get_Struct(vv2, gsl_vector, v2); + v1 = get_cvector(vv1); + v2 = get_cvector(vv2); return rb_float_new(gsl_stats_covariance(v1->data, v1->stride, v2->data, v2->stride, v1->size)); } @@ -389,8 +389,8 @@ VALUE m1, VALUE m2) { gsl_vector *v1, *v2; - Data_Get_Struct(vv1, gsl_vector, v1); - Data_Get_Struct(vv2, gsl_vector, v2); + v1 = get_cvector(vv1); + v2 = get_cvector(vv2); return rb_float_new(gsl_stats_covariance_m(v1->data, v1->stride, v2->data, v2->stride, v1->size, NUM2DBL(m1), NUM2DBL(m2))); diff -uNr rb-gsl_org/ext/rb_gsl_vector.c rb-gsl/ext/rb_gsl_vector.c --- rb-gsl_org/ext/rb_gsl_vector.c 2004-04-12 21:16:39.000000000 +0900 +++ rb-gsl/ext/rb_gsl_vector.c 2004-04-13 23:11:26.000000000 +0900 @@ -25,12 +25,9 @@ n = FIX2INT(argv[0]); vector = gsl_vector_alloc(n); break; - case T_ARRAY: - n = RARRAY(argv[0])->len; - vector = gsl_vector_alloc(n); - for (i = 0; i < n; i++) { - gsl_vector_set(vector, i, NUM2DBL(rb_ary_entry(argv[0], i))); - } +// case T_ARRAY: + default: + vector = make_cvector_from_rarrays(argv[0]); } break; default: diff -uNr rb-gsl_org/ext/rb_gsl_with_narray.c rb-gsl/ext/rb_gsl_with_narray.c --- rb-gsl_org/ext/rb_gsl_with_narray.c 2004-04-12 19:06:12.000000000 +0900 +++ rb-gsl/ext/rb_gsl_with_narray.c 2004-04-13 23:11:26.000000000 +0900 @@ -2,7 +2,29 @@ #include "rb_gsl_array.h" #include "narray.h" +#include "rb_gsl_with_narray.h" +double narray_get(VALUE nary, int i) +{ + VALUE ai[1]; + ai[0] = INT2NUM(i); + return NUM2DBL(na_aref(1, ai, nary)); +} + +/* NArray -> CArray */ +void carray_set_from_narray(double *a, VALUE ary) +{ + int i, size; + if (!NA_IsNArray(ary)) + rb_raise(rb_eTypeError, + "wrong argument type %s", rb_class2name(CLASS_OF(ary))); + size = NA_TOTAL(ary); + if (size == 0) return; + for (i = 0; i < size; i++) + a[i] = narray_get(ary, i); +} + +/* GSL_Matrix -> NArray */ /*VALUE mgsl_narray;*/ /* GSL_Vector -> NArray */ @@ -15,6 +37,32 @@ } /* NArray -> GSL_Vector */ +gsl_vector* make_cvector_from_narray(VALUE ary) +{ + gsl_vector *v; + size_t size; + + if (!NA_IsNArray(ary)) + rb_raise(rb_eTypeError, + "wrong argument type %s", rb_class2name(CLASS_OF(ary))); + size = NA_TOTAL(ary); + v = gsl_vector_alloc(size); + cvector_set_from_narray(v, ary); + return v; +} + +void cvector_set_from_narray(gsl_vector *v, VALUE ary) +{ + int i, size; + if (!NA_IsNArray(ary)) + rb_raise(rb_eTypeError, + "wrong argument type %s", rb_class2name(CLASS_OF(ary))); + size = NA_TOTAL(ary); + for (i = 0; i < size; i++) { + gsl_vector_set(v, i, narray_get(ary,i)); + } +} + static VALUE rb_gsl_na_to_gsl_vector(VALUE obj, VALUE na) { VALUE rb_ary_to_gv(VALUE klass, VALUE ary); @@ -22,7 +70,6 @@ return rb_ary_to_gv(obj, na_to_array(na)); } -/* GSL_Matrix -> NArray */ static VALUE rb_gsl_matrix_to_na(VALUE obj) { gsl_matrix *m; diff -uNr rb-gsl_org/include/rb_gsl_common.h rb-gsl/include/rb_gsl_common.h --- rb-gsl_org/include/rb_gsl_common.h 2004-04-08 11:29:39.000000000 +0900 +++ rb-gsl/include/rb_gsl_common.h 2004-04-13 23:11:26.000000000 +0900 @@ -20,12 +20,16 @@ void rb_gsl_error_handler(const char *reason, const char *file, int line, int gsl_errno); +gsl_vector* get_cvector(VALUE v); VALUE make_rarray_from_cvector(gsl_vector *v); VALUE make_rarray_from_cpermutation(gsl_permutation *v); +gsl_vector* make_cvector_from_rarrays(VALUE a); gsl_vector* make_cvector_from_rarray(VALUE a); void cvector_set_from_carray(gsl_vector *v, const double *a); +void cvector_set_from_rarrays(gsl_vector *v, VALUE ary); void cvector_set_from_rarray(gsl_vector *v, VALUE ary); void carray_set_from_cvector(double *a, gsl_vector *v); +void carray_set_from_rarrays(double *a, VALUE ary); void carray_set_from_rarray(double *a, VALUE ary); #endif diff -uNr rb-gsl_org/include/rb_gsl_with_narray.h rb-gsl/include/rb_gsl_with_narray.h --- rb-gsl_org/include/rb_gsl_with_narray.h 1970-01-01 09:00:00.000000000 +0900 +++ rb-gsl/include/rb_gsl_with_narray.h 2004-04-13 23:11:37.000000000 +0900 @@ -0,0 +1,6 @@ +#include "narray.h" +#include "gsl/gsl_vector.h" + +gsl_vector* make_cvector_from_narray(VALUE); +void cvector_set_from_narray(gsl_vector*, VALUE); +void carray_set_from_narray(double*, VALUE); diff -uNr rb-gsl_org/samples/cheb.rb rb-gsl/samples/cheb.rb --- rb-gsl_org/samples/cheb.rb 2004-04-09 20:23:56.000000000 +0900 +++ rb-gsl/samples/cheb.rb 2004-04-13 23:11:26.000000000 +0900 @@ -1,4 +1,4 @@ -#!/usr/local/bin/ruby +#!/usr/bin/env ruby require "gsl" # To plot the results with Gnuplot, try diff -uNr rb-gsl_org/samples/combination.rb rb-gsl/samples/combination.rb --- rb-gsl_org/samples/combination.rb 2004-04-08 11:23:26.000000000 +0900 +++ rb-gsl/samples/combination.rb 2004-04-13 23:11:26.000000000 +0900 @@ -1,4 +1,4 @@ -#!/usr/local/bin/ruby +#!/usr/bin/env ruby require("gsl") printf("All subsets of {0,1,2,3} by size:\n") ; diff -uNr rb-gsl_org/samples/diff.rb rb-gsl/samples/diff.rb --- rb-gsl_org/samples/diff.rb 2004-04-09 01:29:08.000000000 +0900 +++ rb-gsl/samples/diff.rb 2004-04-13 23:11:26.000000000 +0900 @@ -1,4 +1,4 @@ -#!/usr/local/bin/ruby +#!/usr/bin/env ruby require "gsl" f = GSL::Function.new { |x| diff -uNr rb-gsl_org/samples/fft/forward.rb rb-gsl/samples/fft/forward.rb --- rb-gsl_org/samples/fft/forward.rb 2004-04-06 19:02:08.000000000 +0900 +++ rb-gsl/samples/fft/forward.rb 2004-04-13 23:11:26.000000000 +0900 @@ -1,4 +1,4 @@ -#!/usr/local/bin/ruby +#!/usr/bin/env ruby require 'gsl' n = 630 diff -uNr rb-gsl_org/samples/fft/radix2.rb rb-gsl/samples/fft/radix2.rb --- rb-gsl_org/samples/fft/radix2.rb 2004-04-06 13:48:31.000000000 +0900 +++ rb-gsl/samples/fft/radix2.rb 2004-04-13 23:11:26.000000000 +0900 @@ -1,4 +1,4 @@ -#!/usr/local/bin/ruby +#!/usr/bin/env ruby require 'gsl' n = 128 diff -uNr rb-gsl_org/samples/fft/real-halfcomplex.rb rb-gsl/samples/fft/real-halfcomplex.rb --- rb-gsl_org/samples/fft/real-halfcomplex.rb 2004-04-06 19:31:45.000000000 +0900 +++ rb-gsl/samples/fft/real-halfcomplex.rb 2004-04-13 23:11:26.000000000 +0900 @@ -1,4 +1,4 @@ -#!/usr/local/bin/ruby +#!/usr/bin/env ruby require("gsl") n = 100 diff -uNr rb-gsl_org/samples/fft/realradix2.rb rb-gsl/samples/fft/realradix2.rb --- rb-gsl_org/samples/fft/realradix2.rb 2004-04-06 11:32:17.000000000 +0900 +++ rb-gsl/samples/fft/realradix2.rb 2004-04-13 23:11:26.000000000 +0900 @@ -1,4 +1,4 @@ -#!/usr/local/bin/ruby +#!/usr/bin/env ruby require 'gsl' n = 128 diff -uNr rb-gsl_org/samples/fit/multifit.rb rb-gsl/samples/fit/multifit.rb --- rb-gsl_org/samples/fit/multifit.rb 2004-04-07 02:47:35.000000000 +0900 +++ rb-gsl/samples/fit/multifit.rb 2004-04-13 23:11:26.000000000 +0900 @@ -1,4 +1,4 @@ -#!/usr/local/bin/ruby +#!/usr/bin/env ruby require("gsl") include GSL::MultiFit diff -uNr rb-gsl_org/samples/fit/wlinear.rb rb-gsl/samples/fit/wlinear.rb --- rb-gsl_org/samples/fit/wlinear.rb 2004-04-07 00:49:03.000000000 +0900 +++ rb-gsl/samples/fit/wlinear.rb 2004-04-13 23:11:26.000000000 +0900 @@ -1,4 +1,4 @@ -#!/usr/local/bin/ruby +#!/usr/bin/env ruby require("gsl") include GSL::Fit diff -uNr rb-gsl_org/samples/integration/qag.rb rb-gsl/samples/integration/qag.rb --- rb-gsl_org/samples/integration/qag.rb 2004-04-04 22:45:22.000000000 +0900 +++ rb-gsl/samples/integration/qag.rb 2004-04-13 23:11:26.000000000 +0900 @@ -1,4 +1,4 @@ -#!/usr/local/bin/ruby +#!/usr/bin/env ruby require("gsl") include GSL diff -uNr rb-gsl_org/samples/integration/qng.rb rb-gsl/samples/integration/qng.rb --- rb-gsl_org/samples/integration/qng.rb 2004-04-04 22:45:22.000000000 +0900 +++ rb-gsl/samples/integration/qng.rb 2004-04-13 23:11:26.000000000 +0900 @@ -1,4 +1,4 @@ -#!/usr/local/bin/ruby +#!/usr/bin/env ruby require("gsl") include GSL include Math diff -uNr rb-gsl_org/samples/matrix/matrix_complex.rb rb-gsl/samples/matrix/matrix_complex.rb --- rb-gsl_org/samples/matrix/matrix_complex.rb 2004-04-03 03:45:06.000000000 +0900 +++ rb-gsl/samples/matrix/matrix_complex.rb 2004-04-13 23:11:26.000000000 +0900 @@ -1,4 +1,4 @@ -#!/usr/local/bin/ruby +#!/usr/bin/env ruby require "gsl" m = GSL::Matrix_Complex.new(3, 3) diff -uNr rb-gsl_org/samples/min/min.rb rb-gsl/samples/min/min.rb --- rb-gsl_org/samples/min/min.rb 2004-04-08 02:33:13.000000000 +0900 +++ rb-gsl/samples/min/min.rb 2004-04-13 23:11:26.000000000 +0900 @@ -1,4 +1,4 @@ -#!/usr/local/bin/ruby +#!/usr/bin/env ruby require("gsl") include GSL::Min diff -uNr rb-gsl_org/samples/monte/monte.rb rb-gsl/samples/monte/monte.rb --- rb-gsl_org/samples/monte/monte.rb 2004-04-10 20:32:59.000000000 +0900 +++ rb-gsl/samples/monte/monte.rb 2004-04-13 23:11:26.000000000 +0900 @@ -1,4 +1,4 @@ -#!/usr/local/bin/ruby +#!/usr/bin/env ruby require("gsl") include GSL::Monte include Math diff -uNr rb-gsl_org/samples/monte/tmp.rb rb-gsl/samples/monte/tmp.rb --- rb-gsl_org/samples/monte/tmp.rb 2004-04-10 20:58:08.000000000 +0900 +++ rb-gsl/samples/monte/tmp.rb 2004-04-13 23:11:26.000000000 +0900 @@ -1,4 +1,4 @@ -#!/usr/local/bin/ruby +#!/usr/bin/env ruby require("gsl") include GSL::Monte include Math diff -uNr rb-gsl_org/samples/multimin/fdfminimizer.rb rb-gsl/samples/multimin/fdfminimizer.rb --- rb-gsl_org/samples/multimin/fdfminimizer.rb 2004-04-10 02:01:33.000000000 +0900 +++ rb-gsl/samples/multimin/fdfminimizer.rb 2004-04-13 23:11:26.000000000 +0900 @@ -1,4 +1,4 @@ -#!/usr/local/bin/ruby +#!/usr/bin/env ruby require("gsl") include GSL::MultiMin diff -uNr rb-gsl_org/samples/multimin/fminimizer.rb rb-gsl/samples/multimin/fminimizer.rb --- rb-gsl_org/samples/multimin/fminimizer.rb 2004-04-10 02:10:41.000000000 +0900 +++ rb-gsl/samples/multimin/fminimizer.rb 2004-04-13 23:11:26.000000000 +0900 @@ -1,4 +1,4 @@ -#!/usr/local/bin/ruby +#!/usr/bin/env ruby require("gsl") include GSL::MultiMin diff -uNr rb-gsl_org/samples/multiroot/fdfsolver.rb rb-gsl/samples/multiroot/fdfsolver.rb --- rb-gsl_org/samples/multiroot/fdfsolver.rb 2004-04-10 01:52:18.000000000 +0900 +++ rb-gsl/samples/multiroot/fdfsolver.rb 2004-04-13 23:11:26.000000000 +0900 @@ -1,4 +1,4 @@ -#!/usr/local/bin/ruby +#!/usr/bin/env ruby require("gsl") n = 2 diff -uNr rb-gsl_org/samples/multiroot/fsolver.rb rb-gsl/samples/multiroot/fsolver.rb --- rb-gsl_org/samples/multiroot/fsolver.rb 2004-04-08 16:23:29.000000000 +0900 +++ rb-gsl/samples/multiroot/fsolver.rb 2004-04-13 23:11:26.000000000 +0900 @@ -1,4 +1,4 @@ -#!/usr/local/bin/ruby +#!/usr/bin/env ruby require("gsl") proc = Proc.new { |x, params, f| diff -uNr rb-gsl_org/samples/narray/narray.rb rb-gsl/samples/narray/narray.rb --- rb-gsl_org/samples/narray/narray.rb 2004-04-13 11:49:05.000000000 +0900 +++ rb-gsl/samples/narray/narray.rb 2004-04-13 23:11:26.000000000 +0900 @@ -1,4 +1,4 @@ -#!/usr/local/bin/ruby +#!/usr/bin/env ruby require("narray") require("gsl") diff -uNr rb-gsl_org/samples/nonlinearfit/nonlinearfit.rb rb-gsl/samples/nonlinearfit/nonlinearfit.rb --- rb-gsl_org/samples/nonlinearfit/nonlinearfit.rb 2004-04-10 13:45:50.000000000 +0900 +++ rb-gsl/samples/nonlinearfit/nonlinearfit.rb 2004-04-13 23:11:26.000000000 +0900 @@ -1,4 +1,4 @@ -#!/usr/local/bin/ruby +#!/usr/bin/env ruby require("gsl") include GSL::MultiFit diff -uNr rb-gsl_org/samples/nonlinearfit/nonlinearfit.rb~ rb-gsl/samples/nonlinearfit/nonlinearfit.rb~ --- rb-gsl_org/samples/nonlinearfit/nonlinearfit.rb~ 2004-04-10 13:41:22.000000000 +0900 +++ rb-gsl/samples/nonlinearfit/nonlinearfit.rb~ 2004-04-13 23:11:26.000000000 +0900 @@ -1,4 +1,4 @@ -#!/usr/local/bin/ruby +#!/usr/bin/env ruby require("gsl") include GSL::MultiFit diff -uNr rb-gsl_org/samples/poly.rb rb-gsl/samples/poly.rb --- rb-gsl_org/samples/poly.rb 2004-04-13 11:07:43.000000000 +0900 +++ rb-gsl/samples/poly.rb 2004-04-13 23:11:26.000000000 +0900 @@ -1,4 +1,4 @@ -#!/usr/local/bin/ruby +#!/usr/bin/env ruby require 'gsl' poly = GSL::Poly.new(-1, 0, 0, 0, 0, 1) diff -uNr rb-gsl_org/samples/random/poisson.rb rb-gsl/samples/random/poisson.rb --- rb-gsl_org/samples/random/poisson.rb 2004-04-03 03:45:06.000000000 +0900 +++ rb-gsl/samples/random/poisson.rb 2004-04-13 23:11:26.000000000 +0900 @@ -1,4 +1,4 @@ -#!/usr/local/bin/ruby +#!/usr/bin/env ruby require("gsl") n = 10 mu = 3.0 diff -uNr rb-gsl_org/samples/random/randomwalk.rb rb-gsl/samples/random/randomwalk.rb --- rb-gsl_org/samples/random/randomwalk.rb 2004-04-03 03:45:06.000000000 +0900 +++ rb-gsl/samples/random/randomwalk.rb 2004-04-13 23:11:26.000000000 +0900 @@ -1,4 +1,4 @@ -#!/usr/local/bin/ruby +#!/usr/bin/env ruby require("gsl") GSL::rng_env_setup() diff -uNr rb-gsl_org/samples/roots/bisection.rb rb-gsl/samples/roots/bisection.rb --- rb-gsl_org/samples/roots/bisection.rb 2004-04-08 17:59:53.000000000 +0900 +++ rb-gsl/samples/roots/bisection.rb 2004-04-13 23:11:26.000000000 +0900 @@ -1,4 +1,4 @@ -#!/usr/local/bin/ruby +#!/usr/bin/env ruby require "gsl" include Math diff -uNr rb-gsl_org/samples/roots/brent.rb rb-gsl/samples/roots/brent.rb --- rb-gsl_org/samples/roots/brent.rb 2004-04-08 17:58:37.000000000 +0900 +++ rb-gsl/samples/roots/brent.rb 2004-04-13 23:11:26.000000000 +0900 @@ -1,4 +1,4 @@ -#!/usr/local/bin/ruby +#!/usr/bin/env ruby require "gsl" include Math diff -uNr rb-gsl_org/samples/roots/newton.rb rb-gsl/samples/roots/newton.rb --- rb-gsl_org/samples/roots/newton.rb 2004-04-10 01:50:53.000000000 +0900 +++ rb-gsl/samples/roots/newton.rb 2004-04-13 23:11:26.000000000 +0900 @@ -1,4 +1,4 @@ -#!/usr/local/bin/ruby +#!/usr/bin/env ruby require "gsl" include Math diff -uNr rb-gsl_org/samples/roots/steffenson.rb rb-gsl/samples/roots/steffenson.rb --- rb-gsl_org/samples/roots/steffenson.rb 2004-04-10 01:51:03.000000000 +0900 +++ rb-gsl/samples/roots/steffenson.rb 2004-04-13 23:11:26.000000000 +0900 @@ -1,4 +1,4 @@ -#!/usr/local/bin/ruby +#!/usr/bin/env ruby require "gsl" include Math diff -uNr rb-gsl_org/samples/sf/sf.rb rb-gsl/samples/sf/sf.rb --- rb-gsl_org/samples/sf/sf.rb 2004-04-05 01:53:24.000000000 +0900 +++ rb-gsl/samples/sf/sf.rb 2004-04-13 23:11:26.000000000 +0900 @@ -1,4 +1,4 @@ -#!/usr/local/bin/ruby +#!/usr/bin/env ruby require("gsl") include GSL::Sf diff -uNr rb-gsl_org/samples/spline/spline.rb rb-gsl/samples/spline/spline.rb --- rb-gsl_org/samples/spline/spline.rb 2004-04-03 03:45:06.000000000 +0900 +++ rb-gsl/samples/spline/spline.rb 2004-04-13 23:11:26.000000000 +0900 @@ -1,4 +1,4 @@ -#!/usr/local/bin/ruby +#!/usr/bin/env ruby require "gsl" include Math diff -uNr rb-gsl_org/samples/statistics.rb rb-gsl/samples/statistics.rb --- rb-gsl_org/samples/statistics.rb 2004-04-04 01:31:15.000000000 +0900 +++ rb-gsl/samples/statistics.rb 2004-04-13 23:11:26.000000000 +0900 @@ -1,4 +1,4 @@ -#!/usr/local/bin/ruby +#!/usr/bin/env ruby require 'gsl' include GSL diff -uNr rb-gsl_org/samples/sum.rb rb-gsl/samples/sum.rb --- rb-gsl_org/samples/sum.rb 2004-04-03 03:45:06.000000000 +0900 +++ rb-gsl/samples/sum.rb 2004-04-13 23:11:26.000000000 +0900 @@ -1,4 +1,4 @@ -#!/usr/local/bin/ruby +#!/usr/bin/env ruby require "gsl" include Math diff -uNr rb-gsl_org/samples/vector/narray.rb rb-gsl/samples/vector/narray.rb --- rb-gsl_org/samples/vector/narray.rb 2004-04-03 03:45:06.000000000 +0900 +++ rb-gsl/samples/vector/narray.rb 2004-04-13 23:11:26.000000000 +0900 @@ -1,4 +1,4 @@ -#!/usr/local/bin/ruby +#!/usr/bin/env ruby require 'narray' require 'gsl' diff -uNr rb-gsl_org/samples/vector/vector_complex.rb rb-gsl/samples/vector/vector_complex.rb --- rb-gsl_org/samples/vector/vector_complex.rb 2004-04-03 03:45:06.000000000 +0900 +++ rb-gsl/samples/vector/vector_complex.rb 2004-04-13 23:11:26.000000000 +0900 @@ -1,4 +1,4 @@ -#!/usr/local/bin/ruby +#!/usr/bin/env ruby require "gsl" v = GSL::Vector_Complex.new(5) diff -uNr rb-gsl_org/samples/vector/view.rb rb-gsl/samples/vector/view.rb --- rb-gsl_org/samples/vector/view.rb 2004-04-09 18:53:33.000000000 +0900 +++ rb-gsl/samples/vector/view.rb 2004-04-13 23:11:26.000000000 +0900 @@ -1,4 +1,4 @@ -#!/usr/local/bin/ruby +#!/usr/bin/env ruby require("gsl") v = Vector.new(1, 2, 3, 4, 5, 6, 7, 8, 9) diff -uNr rb-gsl_org/tests/poly/poly.rb rb-gsl/tests/poly/poly.rb --- rb-gsl_org/tests/poly/poly.rb 2004-04-13 11:32:50.000000000 +0900 +++ rb-gsl/tests/poly/poly.rb 2004-04-13 23:11:26.000000000 +0900 @@ -1,4 +1,4 @@ -#!/usr/local/bin/ruby +#!/usr/bin/env ruby require 'gsl' diff -uNr rb-gsl_org/tests/siman/r.rb rb-gsl/tests/siman/r.rb --- rb-gsl_org/tests/siman/r.rb 2004-04-12 00:21:46.000000000 +0900 +++ rb-gsl/tests/siman/r.rb 2004-04-13 23:11:26.000000000 +0900 @@ -1,4 +1,4 @@ -#!/usr/local/bin/ruby +#!/usr/bin/env ruby require("gsl") Rng.env_setup() diff -uNr rb-gsl_org/tests/siman/siman.rb rb-gsl/tests/siman/siman.rb --- rb-gsl_org/tests/siman/siman.rb 2004-04-12 02:47:02.000000000 +0900 +++ rb-gsl/tests/siman/siman.rb 2004-04-13 23:11:26.000000000 +0900 @@ -1,4 +1,4 @@ -#!/usr/local/bin/ruby +#!/usr/bin/env ruby require("gsl") include GSL::Siman