Class Arithmetic

java.lang.Object
gnu.kawa.functions.Arithmetic

public class Arithmetic extends Object
  • Field Details

    • INT_CODE

      public static final int INT_CODE
      Promotion code for byte/Byte, short/Short, int/Integer.
      See Also:
    • UINT_CODE

      public static final int UINT_CODE
      See Also:
    • LONG_CODE

      public static final int LONG_CODE
      Promotion code for long/Long.
      See Also:
    • ULONG_CODE

      public static final int ULONG_CODE
      See Also:
    • BIGINTEGER_CODE

      public static final int BIGINTEGER_CODE
      Promotion code for java.math.BigInteger.
      See Also:
    • INTNUM_CODE

      public static final int INTNUM_CODE
      Promotion code for gnu.math.IntNum.
      See Also:
    • BIGDECIMAL_CODE

      public static final int BIGDECIMAL_CODE
      Promotion code for java.math.BigDecimal.
      See Also:
    • RATNUM_CODE

      public static final int RATNUM_CODE
      Promotion code for gnu.math.RatNum.
      See Also:
    • FLOAT_CODE

      public static final int FLOAT_CODE
      Promotion code float/Float.
      See Also:
    • DOUBLE_CODE

      public static final int DOUBLE_CODE
      Promotion code double/Double.
      See Also:
    • FLONUM_CODE

      public static final int FLONUM_CODE
      Promotion code for gnu.math.FloNum.
      See Also:
    • REALNUM_CODE

      public static final int REALNUM_CODE
      Promotion code for gnu.math.RealNum.
      See Also:
    • NUMERIC_CODE

      public static final int NUMERIC_CODE
      Promotion code for other gnu.math.Numeric.
      See Also:
    • UNKNOWN_CODE

      public static final int UNKNOWN_CODE
      See Also:
  • Constructor Details

    • Arithmetic

      public Arithmetic()
  • Method Details

    • leastSpecificCode

      public static int leastSpecificCode(int code1, int code2)
    • classifyValue

      public static int classifyValue(Object value)
    • kindType

      public static Type kindType(int kind)
    • classifyType

      public static int classifyType(Type type)
    • asInt

      public static int asInt(Object value)
    • asLong

      public static long asLong(Object value)
    • asFloat

      public static float asFloat(Object value)
    • asDouble

      public static double asDouble(Object value)
    • asBigInteger

      public static BigInteger asBigInteger(Object value)
    • asIntNum

      public static IntNum asIntNum(BigDecimal value)
    • asIntNum

      public static IntNum asIntNum(BigInteger value)
    • asIntNum

      public static IntNum asIntNum(Object value)
    • asBigDecimal

      public static BigDecimal asBigDecimal(Object value)
    • asRatNum

      public static RatNum asRatNum(Object value)
    • asNumeric

      public static Numeric asNumeric(Object value)
    • toString

      public static String toString(Object number, int radix)
      Convert a number to a String. Handles classes subclasses of gnu.math.Numeric as well as standard Java classes.
    • convert

      public static Object convert(Object value, int code)
      Coerce a number to one of the Arithmetic.XXX_CODE types. Assumes > Arithmetic.classifyValue(value), though the converse might also work.
    • isExact

      public static boolean isExact(Number num)
    • toExact

      public static Number toExact(Number num)
    • toInexact

      public static Number toInexact(Number num)