FunctionalDoublesCurve extends DoublesCurve { @Override public Double getYValue(final Double x) { Validate.notNull(x, "x"); return _function.evaluate(x); } protected  FunctionalDoublesCurve();  FunctionalDoublesCurve(final Function1D<Double, Double> function); private  FunctionalDoublesCurve(final Function1D<Double, Double> function, final Function1D<Double, Double> derivative);  FunctionalDoublesCurve(final Function1D<Double, Double> function, final String name); private  FunctionalDoublesCurve(final Function1D<Double, Double> function, final Function1D<Double, Double> derivative, final String name); static FunctionalDoublesCurve from(final Function1D<Double, Double> function); static FunctionalDoublesCurve from(final Function1D<Double, Double> function, final Function1D<Double, Double> derivative); static FunctionalDoublesCurve from(final Function1D<Double, Double> function, final String name); static FunctionalDoublesCurve from(final Function1D<Double, Double> function, final Function1D<Double, Double> derivative, final String name); @Override Double[] getXData(); @Override Double[] getYData(); @Override Double getYValue(final Double x); @Override double getDyDx(final double x); @Override Double[] getYValueParameterSensitivity(final Double x); @Override int size(); InterpolatedDoublesCurve toInterpolatedDoublesCurve(final double[] x, final Interpolator1D interpolator); Function1D<Double, Double> getFunction(); Function1D<Double, Double> getFirstDerivativeFunction(); @Override boolean equals(final Object obj); @Override int hashCode(); static FunctionalDoublesCurve.Meta meta(); @Override FunctionalDoublesCurve.Meta metaBean(); final Property<Function1D<Double, Double>> function(); final Property<Function1D<Double, Double>> derivative(); @Override FunctionalDoublesCurve clone(); @Override String toString();  }
@Test public void testGetters() { assertEquals(CURVE.getName(), NAME1); assertEquals(CURVE.getYValue(2.3), F.evaluate(2.3), 0); }