sascha@3733: package de.intevation.flys.artifacts.math;
sascha@3733: 
sascha@3733: import org.apache.commons.math.FunctionEvaluationException;
sascha@3733: 
sascha@3733: import org.apache.commons.math.analysis.UnivariateRealFunction;
sascha@3733: 
sascha@3733: public final class UnivariateRealFunctionFunction
sascha@3733: implements         Function
sascha@3733: {
sascha@3733:     private UnivariateRealFunction function;
sascha@3733: 
sascha@3733:     public UnivariateRealFunctionFunction(UnivariateRealFunction function) {
sascha@3733:         this.function = function;
sascha@3733:     }
sascha@3733: 
sascha@3733:     @Override
sascha@3733:     public double value(double x) {
sascha@3733:         try {
sascha@3733:             return function.value(x);
sascha@3733:         }
sascha@3733:         catch (FunctionEvaluationException fee) {
sascha@3733:             return Double.NaN;
sascha@3733:         }
sascha@3733:     }
sascha@3733: 
sascha@3733:     public UnivariateRealFunction getFunction() {
sascha@3733:         return function;
sascha@3733:     }
sascha@3733: 
sascha@3733:     public void setFunction(UnivariateRealFunction function) {
sascha@3733:         this.function = function;
sascha@3733:     }
sascha@3733: }
sascha@3733: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :