示例#1
0
文件: coulomb.c 项目: cran/gsl
void coulomb_wave_sphF_array(double *L_min, int *kmax, double *eta, double *x, int *len, double *fc_array, double *F_exponent, int* status)
{
	int i;
	gsl_set_error_handler_off();
	
	for(i = 0; i< *len ; i++){
		status[i] = gsl_sf_coulomb_wave_sphF_array(*L_min, *kmax, eta[i], x[i], fc_array+i*(*kmax+1), F_exponent+i);
	}
}
示例#2
0
static VALUE rb_gsl_sf_coulomb_wave_sphF_array(VALUE obj, VALUE Lmin, VALUE kmax,
					 VALUE eta, VALUE x)
{
  int status;
  size_t size;
  gsl_vector *v = NULL, *v2 = NULL;
  CHECK_FIXNUM(kmax);
  Need_Float(Lmin); Need_Float(eta); Need_Float(x);
  size = FIX2INT(kmax);
  v = gsl_vector_alloc(size);
  v2 = gsl_vector_alloc(size);
  status =  gsl_sf_coulomb_wave_sphF_array(NUM2DBL(Lmin), size, NUM2DBL(eta), 
				       NUM2DBL(x), v->data, v2->data);
  return rb_ary_new3(3, Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, v), 
		     Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, v2), 
		     INT2FIX(status));
}
示例#3
0
      /**
       * C++ version of gsl_sf_coulomb_wave_sphF_array().
       * @param lam_min A real value
       * @param kmax An integer
       * @param eta A real value
       * @param x A real value
       * @param fc_array An array
       * @param F_exponent A double
       * @return Error code on failure
       */
      inline int wave_sphF_array( double lam_min, int kmax, double eta, double x,
				  double* fc_array, double* F_exponent ){
	return gsl_sf_coulomb_wave_sphF_array( lam_min, kmax, eta, x, fc_array, F_exponent ); }