Class XMath

Object
XMath

public final class XMath extends Object
Simple mathematical functions.
Since:
2.0
Author:
Martin Desruisseaux (IRD)
  • Method Summary

    Modifier and Type
    Method
    Description
    static double
    next(double f)
    Finds the least double greater than f.
    static float
    next(float f)
    Finds the least float greater than f.
    static double
    previous(double f)
    Finds the greatest double less than f.
    static float
    previous(float f)
    Finds the greatest float less than f.
    static double
    rool(Class type, double value, int amount)
    Returns the next or previous representable number.

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • next

      public static float next(float f)
      Finds the least float greater than f. If NaN, returns same value.
    • previous

      public static float previous(float f)
      Finds the greatest float less than f. If NaN, returns same value.
    • next

      public static double next(double f)
      Finds the least double greater than f. If NaN, returns same value.
      See Also:
    • previous

      public static double previous(double f)
      Finds the greatest double less than f. If NaN, returns same value.
      See Also:
    • rool

      public static double rool(Class type, double value, int amount) throws IllegalArgumentException
      Returns the next or previous representable number. If amount is equals to 0, then this method returns the value unchanged. Otherwise, The operation performed depends on the specified type:
      • If the type is Double, then this method is equivalent to invoking previous(double) if amount is equals to -1, or invoking next(double) if amount is equals to +1. If amount is smaller than -1 or greater than +1, then this method invokes previous(double) or next(double) in a loop for abs(amount) times.

      • If the type is Float, then this method is equivalent to invoking previous(float) if amount is equals to -1, or invoking next(float) if amount is equals to +1. If amount is smaller than -1 or greater than +1, then this method invokes previous(float) or next(float) in a loop for abs(amount) times.

      • If the type is an integer, then invoking this method is equivalent to computing value + amount.

      Parameters:
      type - The type. Should be the class of Double, Float, Long, Integer, Short or Byte.
      value - The number to rool.
      amount - -1 to return the previous representable number, +1 to return the next representable number, or 0 to return the number with no change.
      Returns:
      One of previous or next representable number as a double.
      Throws:
      IllegalArgumentException - if type is not one of supported types.