CAMLprim value ml_gsl_sf_coulomb_CL_array(value lmin, value eta, value c_arr) { gsl_sf_coulomb_CL_array(Double_val(lmin), Double_array_length(c_arr)-1, Double_val(eta), Double_array_val(c_arr)); return Val_unit; }
void coulomb_CL_array(double *L_min, int *kmax, double *eta, int *len, double *cl, int* status) { int i; gsl_set_error_handler_off(); for(i = 0; i< *len ; i++){ status[i] = gsl_sf_coulomb_CL_array(*L_min, *kmax, eta[i], cl+i*(*kmax+1)); } }
static VALUE rb_gsl_sf_coulomb_CL_array(VALUE obj, VALUE Lmin, VALUE kmax, VALUE eta) { gsl_vector *v = NULL; size_t size; // local variable "status" declared and set, but never used //int status; CHECK_FIXNUM(kmax); Need_Float(Lmin); Need_Float(eta); size = FIX2INT(kmax); v = gsl_vector_alloc(size); /*status =*/ gsl_sf_coulomb_CL_array(NUM2DBL(Lmin), size, NUM2DBL(eta), v->data); return Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, v); }
/** * C++ version of gsl_sf_coulomb_CL_array(). * @param Lmin A real value * @param kmax An integer * @param eta A real value * @param cl An array * @return Error code on failure */ inline int CL_array( double Lmin, int kmax, double eta, double* cl ){ return gsl_sf_coulomb_CL_array( Lmin, kmax, eta, cl ); }