Doxygen Source Code Documentation
Main Page Alphabetical List Data Structures File List Data Fields Globals Search
cdf_03.c
Go to the documentation of this file.00001 #include "cdflib.h"
00002 double apser(double *a,double *b,double *x,double *eps)
00003
00004
00005
00006
00007
00008
00009
00010 {
00011 static double g = .577215664901533e0;
00012 static double apser,aj,bx,c,j,s,t,tol;
00013
00014
00015
00016
00017 bx = *b**x;
00018 t = *x-bx;
00019 if(*b**eps > 2.e-2) goto S10;
00020 c = log(*x)+psi(b)+g+t;
00021 goto S20;
00022 S10:
00023 c = log(bx)+g+t;
00024 S20:
00025 tol = 5.0e0**eps*fabs(c);
00026 j = 1.0e0;
00027 s = 0.0e0;
00028 S30:
00029 j += 1.0e0;
00030 t *= (*x-bx/j);
00031 aj = t/j;
00032 s += aj;
00033 if(fabs(aj) > tol) goto S30;
00034 apser = -(*a*(c+s));
00035 return apser;
00036 }