/**
* A storage of cached values of a function. The purpose of this class is to
- * cache function values
+ * cache function values between optimization runs. Subinterfaces may provide
+ * additional functionality.
*
* @author Sampo Niskanen <sampo.niskanen@iki.fi>
*/
public interface FunctionCache {
+ /**
+ * Compute and return the value of the function at the specified point.
+ *
+ * @param point the point at which to evaluate.
+ * @return the value of the function at that point.
+ */
public double getValue(Point point);
+ /**
+ * Clear the cache.
+ */
public void clearCache();
+ /**
+ * Return the function that is evaluated by this cache implementation.
+ *
+ * @return the function that is being evaluated.
+ */
public Function getFunction();
+ /**
+ * Set the function that is evaluated by this cache implementation.
+ *
+ * @param function the function that is being evaluated.
+ */
public void setFunction(Function function);
}