Class LogFunc

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

public abstract class LogFunc extends Object implements Func

Logarithm function: f(x0) = logb(x0) (b is the base of the logarithm). More precisely, the result of this function is Math.log(x[0])*(1.0/Math.log(b)) for the instance returned by getInstance(b) method or StrictMath.log(x[0])*(1.0/Math.log(b)) for the instance returned by getStrictInstance(b) method. The get(double...) method of the instance of this class requires at least 1 argument and throws IndexOutOfBoundsException if the number of arguments is 0.

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 LogFunc getInstance(double b)
      Returns an instance of this class for the given logarithm base b using Math.log method.

      This method returns special optimized versions of this class for base=Math.E and base=10.0.

      Parameters:
      b - the base of the logarithm.
      Returns:
      an instance of this class using Math.log method.
    • getStrictInstance

      public static LogFunc getStrictInstance(double b)
      Returns an instance of this class for the given logarithm base b using StrictMath.log method.

      This method returns special optimized versions of this class for base=Math.E and base=10.0.

      Parameters:
      b - the base of the logarithm.
      Returns:
      an instance of this class using StrictMath.log method.
    • get

      public abstract 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 abstract 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 abstract 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 abstract 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 abstract 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.