/* Driver for routine beschb */ #include #include #define NRANSI #include "nr.h" #include "nrutil.h" int main(void) { double gam1,gam2,gampl,gammi,x,xgam1,xgam2,xgampl,xgammi; for (;;) { printf("Enter x:\n"); if (scanf("%lf",&x) == EOF) break; beschb(x,&xgam1,&xgam2,&xgampl,&xgammi); printf("%5s\n%17s %16s %17s %15s\n%17s %16s %17s %15s\n", "x","gam1","gam2","gampl","gammi","xgam1","xgam2","xgampl","xgammi"); gampl=1/exp(gammln((float)(1+x))); gammi=1/exp(gammln((float)(1-x))); gam1=(gammi-gampl)/(2*x); gam2=(gammi+gampl)/2; printf("%5.2f\n\t%16.6e %16.6e %16.6e %16.6e\n",x,gam1,gam2,gampl,gammi); printf("\t%16.6e %16.6e %16.6e %16.6e\n",xgam1,xgam2,xgampl,xgammi); } return 0; } #undef NRANSI