double FC_FUNC_(oct_bessel_k1, OCT_BESSEL_K1) (const double *x) { if( *x > BESSEL_K_THRES ) { return 0.0e0; } else { return gsl_sf_bessel_K1(*x); } }
scalar sasfit_ff_gz_dab(scalar z, sasfit_param * param) { scalar u,Gz,G0; SASFIT_ASSERT_PTR(param); // assert pointer param is valid SASFIT_CHECK_COND1((z < 0.0), param, "z(%lg) < 0",z); SASFIT_CHECK_COND1((XI < 0.0), param, "xi(%lg) < 0",XI); // modify condition to your needs // insert your code here u=z/XI; G0=16*M_PI*gsl_pow_4(XI)*ETA*ETA; if (fabs(u)<1e-6) { if (u*u==0) { Gz=G0; } else { Gz=G0*(1+u*u/4.*(2*M_EULER)-1+log(u*u/4.)); } } else { Gz=G0*u*gsl_sf_bessel_K1(u); } return (Gz-G0)*gsl_pow_2(2*M_PI); // not clear yet wy /gsl_pow_2(2*M_PI); is needed }
gsl_complex f_bessel(gsl_complex p, const Params *params) { double m = params->m; return gsl_complex_rect(0, 2*m * gsl_sf_bessel_K1(m * GSL_REAL(p))); }
double vd2_thin(double y) { double FB = gsl_sf_bessel_I0(y)*gsl_sf_bessel_K0(y) - gsl_sf_bessel_I1(y)*gsl_sf_bessel_K1(y); return y*y*FB; }