#define FUNC(x) ((*func)(x)) double trapzd(double (*func)(double), double a, double b, int n) { double x,tnm,sum,del; static double s; int it,j; if (n == 1) { return (s=0.5*(b-a)*(FUNC(a)+FUNC(b))); } else { for (it=1,j=1;j