Doxygen Source Code Documentation
Main Page Alphabetical List Data Structures File List Data Fields Globals Search
cdf_57.c
Go to the documentation of this file.00001 #include "cdflib.h"
00002 double fpser(double *a,double *b,double *x,double *eps)
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 {
00016 static int K1 = 1;
00017 static double fpser,an,c,s,t,tol;
00018
00019
00020
00021
00022 fpser = 1.0e0;
00023 if(*a <= 1.e-3**eps) goto S10;
00024 fpser = 0.0e0;
00025 t = *a*log(*x);
00026 if(t < exparg(&K1)) return fpser;
00027 fpser = exp(t);
00028 S10:
00029
00030
00031
00032 fpser = *b/ *a*fpser;
00033 tol = *eps/ *a;
00034 an = *a+1.0e0;
00035 t = *x;
00036 s = t/an;
00037 S20:
00038 an += 1.0e0;
00039 t = *x*t;
00040 c = t/an;
00041 s += c;
00042 if(fabs(c) > tol) goto S20;
00043 fpser *= (1.0e0+*a*s);
00044 return fpser;
00045 }