Class SelectConstantFunc

java.lang.Object
net.algart.math.functions.SelectConstantFunc
All Implemented Interfaces:
Func

public final class SelectConstantFunc extends Object implements Func

Selecting constant function: f(x0, x1, ..., xn-1) = values[(int)x0], where values is the given array of constants. The get(double...) method of the instance of this class requires at least n arguments and throws IndexOutOfBoundsException if the number of arguments is less or if the argument, cast to int type, is negative or >=values.length.

This class is immutable and thread-safe: there are no ways to modify settings of the created instance.

Author:
Daniel Alievsky
  • Method Details

    • getInstance

      public static SelectConstantFunc getInstance(double... values)
      Returns an instance of this class, describing the selecting function with the specified array of constants.

      The passed reference values is not maintained by the created instance: if necessary, the Java array is cloned.

      Parameters:
      values - the values, one of which is returned by get(double...) method..
      Returns:
      the selection function for the given array of constants.
    • values

      public double[] values()
      Returns all values returned by this function.

      The returned array is not a reference to an internal array stored in this object: the internal Java array is cloned.

      Returns:
      all values returned by this function.
    • get

      public double get(double... x)
      Description copied from interface: Func
      Returns the result of this function for the given arguments: f(x0, x1, ..., xx.length-1).

      This method must not change the values of x elements!

      Specified by:
      get in interface Func
      Parameters:
      x - the function arguments.
      Returns:
      the function result.
    • get

      public double get()
      Description copied from interface: Func
      Equivalent to get(new double[0]). Provides better performance because it does not require Java array creation.
      Specified by:
      get in interface Func
      Returns:
      the function result.
    • get

      public double get(double x0)
      Description copied from interface: Func
      Equivalent to get(new double[] {x0}). Provides better performance because it does not require Java array creation.
      Specified by:
      get in interface Func
      Parameters:
      x0 - the function argument.
      Returns:
      the function result.
    • get

      public double get(double x0, double x1)
      Description copied from interface: Func
      Equivalent to get(new double[] {x0, x1}). Provides better performance because it does not require Java array creation.
      Specified by:
      get in interface Func
      Parameters:
      x0 - the first function argument.
      x1 - the second function argument.
      Returns:
      the function result.
    • get

      public double get(double x0, double x1, double x2)
      Description copied from interface: Func
      Equivalent to get(new double[] {x0, x1, x2}). Provides better performance because it does not require Java array creation.
      Specified by:
      get in interface Func
      Parameters:
      x0 - the first function argument.
      x1 - the second function argument.
      x2 - the third function argument.
      Returns:
      the function result.
    • get

      public double get(double x0, double x1, double x2, double x3)
      Description copied from interface: Func
      Equivalent to get(new double[] {x0, x1, x2, x3}). Provides better performance because it does not require Java array creation.
      Specified by:
      get in interface Func
      Parameters:
      x0 - the first function argument.
      x1 - the second function argument.
      x2 - the third function argument.
      x3 - the fourth function argument.
      Returns:
      the function result.
    • toString

      public String toString()
      Returns a brief string description of this object.
      Overrides:
      toString in class Object
      Returns:
      a brief string description of this object.