コード例 #1
0
void beschb( double x, double *gam1, double *gam2, double *gampl, double *gammi )
{
	double		xx;
	static double c1[] = { -1.142022680371172e0, 6.516511267076e-3,
		3.08709017308e-4, -3.470626964e-6, 6.943764e-9,
		3.6780e-11, -1.36e-13 };
	static double c2[] = { 1.843740587300906e0, -0.076852840844786e0,
		1.271927136655e-3, -4.971736704e-6, -3.3126120e-8,
		2.42310e-10, -1.70e-13, -1.0e-15 };

	xx = 8.0*x*x - 1.0;
	*gam1 = chebev(-1.0, 1.0, c1, NUSE1, xx);
	*gam2 = chebev(-1.0, 1.0, c2, NUSE2, xx);
	*gampl = *gam2 - x*(*gam1);
	*gammi = *gam2 + x*(*gam1);
}
コード例 #2
0
ファイル: bessjy.c プロジェクト: Omer80/wimps
static void beschb(double x, double *gam1, double *gam2, double *gampl, double *gammi)
{
double chebev(double a, double b, double c[], int m, double x);
double xx;
	static double c1[]={ 
	-1.142022680371168e0,6.5165112670737e-3,3.087090173086e-4,
	-3.4706269649e-6,6.9437664e-9,3.67795e-11,-1.356e-13};
	static double c2[]={
	1.843740587300905e0,-7.68528408447867e-2,1.2719271366546e-3,
        -4.9717367042e-6,-3.31261198e-8,2.423096e-10,-1.702e-13,-1.49e-15};

xx=8.0*x*x-1.0;
*gam1=chebev(-1.0,1.0,c1,NUSE1,xx);
*gam2=chebev(-1.0,1.0,c2,NUSE1,xx);
*gampl=*gam2-x*(*gam1);
*gammi=*gam2+x*(*gam1);
}
コード例 #3
0
ファイル: beschb.c プロジェクト: xyuan/MultiFluidRAMSES
double beschb_gam1(double x)
{
	double xx;

	xx=8.0*x*x-1.0;

	double gam1=chebev(-1.0,1.0,xx);
	//double gam2=chebev2(-1.0,1.0,xx);
	//double gampl= gam2-x*gam1;
	//double gammi= gam2+x*gam1;

	return gam1;
}