コード例 #1
0
ファイル: coulomb.c プロジェクト: cran/gsl
void coulomb_wave_FG_array(double *L_min, int *kmax, double *eta, double *x, int *len, double *fc_array, double *gc_array, double *F_exponent, double *G_exponent, int* status)
{
	int i;
	gsl_set_error_handler_off();
	
	for(i = 0; i< *len ; i++){
		status[i] = gsl_sf_coulomb_wave_FG_array(*L_min, *kmax, eta[i], x[i], fc_array+i*(*kmax+1), gc_array+i*(*kmax+1), F_exponent+i, G_exponent+i);
	}
}
コード例 #2
0
ファイル: sf_coulomb.c プロジェクト: Zenexer/rb-gsl
static VALUE rb_gsl_sf_coulomb_wave_FG_array(VALUE obj, VALUE Lmin, VALUE kmax,
					 VALUE eta, VALUE x)
{
  double F_exponent, G_exponent;
  int status;
  size_t size;
  gsl_vector *vf = NULL, *vg = NULL;
  VALUE fary, gary;
  CHECK_FIXNUM(kmax);
  Need_Float(Lmin); Need_Float(eta); Need_Float(x);
  size = FIX2INT(kmax);
  vf = gsl_vector_alloc(size);
  vg = gsl_vector_alloc(size);

  status = gsl_sf_coulomb_wave_FG_array(NUM2DBL(Lmin), size, NUM2DBL(eta), 
				   NUM2DBL(x), vf->data, vg->data,
				    &F_exponent, &G_exponent);
  fary = Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, vf);
  gary = Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, vf);
  return rb_ary_new3(5, fary, gary,
		     rb_float_new(F_exponent), rb_float_new(G_exponent),
		     INT2FIX(status));
}
コード例 #3
0
ファイル: sf_coulomb.hpp プロジェクト: fujiisoup/MyLibrary
      /**
       * C++ version of gsl_sf_coulomb_wave_FG_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 gc_array An array
       * @param F_exponent A double
       * @param G_exponent A double
       * @return Error code on failure
       */
      inline int wave_FG_array( double lam_min, int kmax, double eta, double x, double* fc_array,
				double* gc_array, double* F_exponent, double* G_exponent ){
	return gsl_sf_coulomb_wave_FG_array( lam_min, kmax, eta, x, fc_array, gc_array,
					     F_exponent, G_exponent ); }