CAMLprim value ml_gsl_sf_legendre_array_size(value lmax, value m) { CAMLparam2(lmax, m); CAMLlocal1(ret); int gsl_ret; gsl_ret = gsl_sf_legendre_array_size(Int_val(lmax), Int_val(m)); ret = Val_int(gsl_ret); CAMLreturn(ret); }
static VALUE rb_gsl_sf_legendre_sphPlm_array(VALUE obj, VALUE lmax, VALUE m, VALUE x) { gsl_vector *v = NULL; int size; int ll, mm; CHECK_FIXNUM(lmax); CHECK_FIXNUM(m); Need_Float(x); ll = FIX2INT(lmax); mm = FIX2INT(m); size = gsl_sf_legendre_array_size(ll, mm); v = gsl_vector_alloc(size); gsl_sf_legendre_sphPlm_array(ll, mm, NUM2DBL(x), v->data); return Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, v); }
static VALUE rb_gsl_sf_legendre_array_size(VALUE obj, VALUE lmax, VALUE m) { CHECK_FIXNUM(lmax); CHECK_FIXNUM(m); return INT2FIX(gsl_sf_legendre_array_size(FIX2INT(lmax), FIX2INT(m))); }