public class Trapezoidal {
  public static double 
    integrate(Func f, double a, double b, int n)
  {
    double sum = 0.5*(f.eval(a)+f.eval(b));
    double h   = (b-a)/n;
    for ( int i = 1; i < n; i++ )
      sum += f.eval(a+i*h);
    return sum*h;
  }
}
