/* Driver for routine eulsum */ #include #include #define NRANSI #include "nr.h" #include "nrutil.h" #define NVAL 40 int main(void) { int i,j,mval; float sum,term,x,xpower,*wksp; wksp=vector(1,NVAL); /* evaluate ln(1+x)=x-x^2/2+x^3/3-x^4/4 ... for -1 NVAL)) break; printf("%9s %14s %14s\n","x","actual","polynomial"); for (i = -8;i<=8;i++) { x=i/10.0; sum=0.0; xpower = -1; for (j=1;j<=mval;j++) { xpower *= (-x); term=xpower/j; eulsum(&sum,term,j,wksp); } printf("%12.6f %12.6f %12.6f\n",x,log(1.0+x),sum); } } free_vector(wksp,1,NVAL); return 0; } #undef NRANSI