コード例 #1
0
ファイル: special.cpp プロジェクト: OS2World/APP-MATH-Euler
double gauss (double z)
{   double res,a=0.5;
	double x=z*z/2;
	gammp(&a,&x,&res);
	res/=gamm(0.5)*2;
	if (z<0)
		return 0.5-res;
	else
		return 0.5+res;
}
コード例 #2
0
ファイル: min.dist.c プロジェクト: cran/kappalab
void objective_function_Choquet_coefficients(int *n, double *D) {

  int i, j, m;
  int pow = 1<<*n;

  m = 0;
  for (i=0; i<*n; i++)
    for (j=0; j<pow; j++)
      if(j & 1<<i)
	D[m++] = gamm(cardinal(j)-1, *n);
      
}
コード例 #3
0
ファイル: special.cpp プロジェクト: OS2World/APP-MATH-Euler
void gammp (double *a, double *x, double *res)
{
	if (*x < 0.0 || *a <= 0.0)
	{	output("Invalid arguments in routine gammp\n");
		error=1; return;
	}
	if (*x < (*a+1.0)) {
		*res=gser(*a,*x);
		return;
	} else {
		*res=gamm(*a)-gcf(*a,*x);
		return;
	}
}