Class ExponentialTransform1D

Object
Formattable
AbstractMathTransform
ExponentialTransform1D
All Implemented Interfaces:
Serializable, MathTransform, MathTransform1D

public class ExponentialTransform1D extends AbstractMathTransform implements MathTransform1D, Serializable
A one dimensional exponentional transform. Input values x are converted into output values y using the following equation:

y  =  scale×basex This equation may be written in other form:

basea + b×x  =  basea×(baseb)x

Since:
2.0
Author:
Martin Desruisseaux (IRD)
See Also:
  • Field Details

    • base

      public final double base
      The base to be raised to a power.
    • scale

      public final double scale
      The scale value to be multiplied.
  • Constructor Details

    • ExponentialTransform1D

      protected ExponentialTransform1D(double base, double scale)
      Constructs a new exponentional transform. This constructor is provided for subclasses only. Instances should be created using the factory method, which may returns optimized implementations for some particular argument values.
      Parameters:
      base - The base to be raised to a power.
      scale - The scale value to be multiplied.
  • Method Details

    • create

      public static MathTransform1D create(double base, double scale)
      Constructs a new exponentional transform.
      Parameters:
      base - The base to be raised to a power.
      scale - The scale value to be multiplied.
      Returns:
      The math transform.
    • getParameterDescriptors

      public ParameterDescriptorGroup getParameterDescriptors()
      Returns the parameter descriptors for this math transform.
      Overrides:
      getParameterDescriptors in class AbstractMathTransform
      Returns:
      The parameter descriptors for this math transform, or null.
      See Also:
    • getParameterValues

      public ParameterValueGroup getParameterValues()
      Returns the parameter values for this math transform.
      Overrides:
      getParameterValues in class AbstractMathTransform
      Returns:
      A copy of the parameter values for this math transform.
      See Also:
    • getSourceDimensions

      public int getSourceDimensions()
      Gets the dimension of input points, which is 1.
      Specified by:
      getSourceDimensions in interface MathTransform
      Specified by:
      getSourceDimensions in class AbstractMathTransform
      Returns:
      The dimension of input points.
    • getTargetDimensions

      public int getTargetDimensions()
      Gets the dimension of output points, which is 1.
      Specified by:
      getTargetDimensions in interface MathTransform
      Specified by:
      getTargetDimensions in class AbstractMathTransform
      Returns:
      The dimension of output points.
    • inverse

      public MathTransform1D inverse()
      Creates the inverse transform of this object.
      Specified by:
      inverse in interface MathTransform
      Specified by:
      inverse in interface MathTransform1D
      Overrides:
      inverse in class AbstractMathTransform
      Returns:
      The inverse transform.
    • derivative

      public double derivative(double value)
      Gets the derivative of this function at a value.
      Specified by:
      derivative in interface MathTransform1D
      Parameters:
      value - The value where to evaluate the derivative.
      Returns:
      The derivative at the specified point.
    • transform

      public double transform(double value)
      Transforms the specified value.
      Specified by:
      transform in interface MathTransform1D
      Parameters:
      value - The value to transform.
      Returns:
      the transformed value.
    • transform

      public void transform(float[] srcPts, int srcOff, float[] dstPts, int dstOff, int numPts)
      Transforms a list of coordinate point ordinal values.
      Specified by:
      transform in interface MathTransform
      Overrides:
      transform in class AbstractMathTransform
      Parameters:
      srcPts - the array containing the source point coordinates.
      srcOff - the offset to the first point to be transformed in the source array.
      dstPts - the array into which the transformed point coordinates are returned. May be the same than srcPts.
      dstOff - the offset to the location of the first transformed point that is stored in the destination array.
      numPts - the number of point objects to be transformed.
    • transform

      public void transform(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts)
      Transforms a list of coordinate point ordinal values.
      Specified by:
      transform in interface MathTransform
      Parameters:
      srcPts - the array containing the source point coordinates.
      srcOff - the offset to the first point to be transformed in the source array.
      dstPts - the array into which the transformed point coordinates are returned. May be the same than srcPts.
      dstOff - the offset to the location of the first transformed point that is stored in the destination array.
      numPts - the number of point objects to be transformed.
    • hashCode

      public int hashCode()
      Returns a hash value for this transform. This value need not remain consistent between different implementations of the same class.
      Overrides:
      hashCode in class AbstractMathTransform
    • equals

      public boolean equals(Object object)
      Compares the specified object with this math transform for equality.
      Overrides:
      equals in class AbstractMathTransform
      Parameters:
      object - The object to compare with this transform.
      Returns:
      true if the given object is a transform of the same class and if, given identical source position, the transformed position would be the equals.