class FunctionalDoublesCurve extends DoublesCurve {

  @Override
  public Double getYValue(final Double x) {
    Validate.notNull(x, "x");
    return _function.evaluate(x);
  }

  protected  FunctionalDoublesCurve();
  public  FunctionalDoublesCurve(final Function1D<Double, Double> function);
  private  FunctionalDoublesCurve(final Function1D<Double, Double> function, final Function1D<Double, Double> derivative);
  public  FunctionalDoublesCurve(final Function1D<Double, Double> function, final String name);
  private  FunctionalDoublesCurve(final Function1D<Double, Double> function, final Function1D<Double, Double> derivative, final String name);

}