|
Java example source code file (RealFieldUnivariateFunction.java)
The RealFieldUnivariateFunction.java Java example source code/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.commons.math3.analysis; import org.apache.commons.math3.RealFieldElement; /** * An interface representing a univariate real function. * <p> * When a <em>user-defined function encounters an error during * evaluation, the {@link #value(RealFieldElement) value} method should throw a * <em>user-defined unchecked exception. * <p> * The following code excerpt shows the recommended way to do that using * a root solver as an example, but the same construct is applicable to * ODE integrators or optimizers.</p> * * <pre> * private static class LocalException extends RuntimeException { * // The x value that caused the problem. * private final SomeFieldType x; * * public LocalException(SomeFieldType x) { * this.x = x; * } * * public double getX() { * return x; * } * } * * private static class MyFunction implements FieldUnivariateFunction<SomeFieldType> { * public SomeFieldType value(SomeFieldType x) { * SomeFieldType y = hugeFormula(x); * if (somethingBadHappens) { * throw new LocalException(x); * } * return y; * } * } * * public void compute() { * try { * solver.solve(maxEval, new MyFunction(a, b, c), min, max); * } catch (LocalException le) { * // Retrieve the x value. * } * } * </pre> * * As shown, the exception is local to the user's code and it is guaranteed * that Apache Commons Math will not catch it. * * @param <T> the type of the field elements * @since 3.6 * @see UnivariateFunction */ public interface RealFieldUnivariateFunction<T extends RealFieldElement Other Java examples (source code examples)Here is a short list of links related to this Java RealFieldUnivariateFunction.java source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.