package org.spaceroots.mantissa.functions.scalar;
import java.io.Serializable;
import org.spaceroots.mantissa.functions.FunctionException;
/** This interface represents scalar functions of one real variable.
* This interface should be implemented by all scalar functions
* that can be evaluated at any point. This does not imply that an
* explicit definition is available, a function given by an implicit
* function that should be numerically solved for each point for
* example is considered a computable function.
* The {@link ComputableFunctionSampler} class can be used to
* transform classes implementing this interface into classes
* implementing the {@link SampledFunction} interface.
* Several numerical algorithms (Gauss-Legendre integrators for
* example) need to choose themselves the evaluation points, so they
* can handle only objects that implement this interface.
* @see org.spaceroots.mantissa.quadrature.scalar.ComputableFunctionIntegrator
* @see SampledFunction
* @version $Id: ComputableFunction.java 1709 2006-12-03 21:16:50Z luc $
* @author L. Maisonobe
*/
public interface ComputableFunction extends Serializable {
/** Get the value of the function at the specified abscissa.
* @param x current abscissa
* @return function value
* @exception FunctionException if something goes wrong
*/
public double valueAt(double x)
throws FunctionException;
}
Ads help maintain this website.