Class Arithmetic


  • public class Arithmetic
    extends Object
    • Field Detail

      • INT_CODE

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

        public static final int LONG_CODE
        Promotion code for long/Long.
        See Also:
        Constant Field Values
      • BIGINTEGER_CODE

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

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

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

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

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

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

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

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

        public static final int NUMERIC_CODE
        Promotion code for other gnu.math.Numeric.
        See Also:
        Constant Field Values
    • Constructor Detail

      • Arithmetic

        public Arithmetic()
    • Method Detail

      • 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)
      • asIntNum

        public static IntNum asIntNum​(Object value)
      • asRatNum

        public static RatNum asRatNum​(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)
      • toInexact

        public static Number toInexact​(Number num)