Interface Func.Updatable
- All Superinterfaces:
Func
- All Known Implementing Classes:
InverseNumberFunc.Updatable
,LinearFunc.Updatable
,PowerFunc.Updatable
- Enclosing interface:
Func
"Updatable" mathematical function: an extension of Func
interface
allowing assigning values to the function result, that leads to
corresponding correction of arguments.
Usually can be implemented for one-argument functions,
where the set(x[], newResult)
method assigns
to x[0] the result of the inverse function, called for newResult.
Implementations of this interface are usually immutable and always thread-safe: get and set methods of this interface may be freely used while simultaneous accessing the same instance from several threads.
-
Nested Class Summary
Nested classes/interfaces inherited from interface net.algart.math.functions.Func
Func.Updatable
-
Field Summary
Fields inherited from interface net.algart.math.functions.Func
ABS, ABS_DIFF, HALF_X_MINUS_Y, HALF_X_PLUS_Y, HALF_Y_MINUS_X, IDENTITY, MAX, MIN, POSITIVE_DIFF, REVERSE, SELECT, SELECT_FROM_8_DIRECTIONS_2D, SELECT_IF_GREATER, SELECT_IF_GREATER_OR_EQUAL, SHIFTS_ALONG_8_DIRECTIONS_2D, UPDATABLE_IDENTITY, X_MINUS_Y, X_PLUS_Y, Y_MINUS_X
-
Method Summary
-
Method Details
-
set
void set(double[] x, double newResult) Correct some of x arguments so thatget(x)
will be, as possible, equal to newResult. For example, if this is one-argument function f(x), and its inverse function is g(y) (g(f(x))=x), then this method should assign x[0]=g(newResult).This method does not guarantee the precise equality
get(x)
==newResult. (Usually, it is impossible due to limited precision of floating-point calculations.) But this method should try to provide this equality (after its call) with, as possible, maximal possible precision.- Parameters:
x
- the function arguments.newResult
- the desired function result.- Throws:
IndexOutOfBoundsException
- may be thrown if the length of x array is less than the required number of this function arguments.
-