/*Translated by FOR_C, v3.4.2 (-), on 07/09/115 at 08:33:10 */ /*FOR_C Options SET: ftn=u io=c no=p op=aimnv pf=,p_dgamma s=dbov str=l x=f - prototypes */ #include #include "fcrt.h" #include #include #include "p_dgamma.h" /* DRDGAMMA *>> 1996-07-12 DRDGAMMA Krogh Minor changes for conversion to C. *>> 1994-10-19 DRDGAMMA Krogh Changes to use M77CON *>> 1992-06-11 DRDGAMMA Krogh Changed "duplication" identity. *>> 1991-10-21 DRDGAMMA CLL *>> 1987-12-09 DRDGAMMA Lawson Initial Code. * *--D replaces "?": DR?GAMMA, ?GAMMA, ?LGAMA */ int main( ) { long int i; double gam, lgam, z; static double x[12]={-1.5e0,-0.5e0,0.5e0,1.0e0,1.5e0,2.0e0,3.0e0, 4.0e0,5.0e0,10.0e0,20.0e0,30.0e0}; static double pi = 3.1415926535897932385e0; /* OFFSET Vectors w/subscript range: 1 to dimension */ double *const X = &x[0] - 1; /* end of OFFSET VECTORS */ printf(" X DGAMMA DLGAMA Z\n \n"); for (i = 1; i <= 12; i++) { gam = dgamma( X[i] ); z = (2.e0*sqrt( pi )*gam)/((pow(2.0e0,X[i]))*dgamma( 0.5e0* X[i] )*dgamma( 0.5e0*X[i] + .5e0 )) - 1.e0; if (X[i] < 0.0e0) { printf(" %4.1f %15.8g %13.2e\n", X[i], gam, z); } else { lgam = dlgama( X[i] ); printf(" %4.1f %15.8g%13.5f %13.2e\n", X[i], gam, lgam, z); } } exit(0); } /* end of function */