class GaussianQuadratureIntegrator1D extends Integrator1D<Double, Double> {

  @Override
  public Double integrate(final Function1D<Double, Double> function, final Double lower, final Double upper) {
    Validate.notNull(function);
    Validate.notNull(lower);
    Validate.notNull(upper);
    final Function1D<Double, Double> integral = getIntegralFunction(function, lower, upper);
    return integrateFromPolyFunc(integral);
  }

  public  GaussianQuadratureIntegrator1D(final int n, final QuadratureWeightAndAbscissaFunction generator);

}