Package gnu.kawa.functions
Class Arithmetic
- java.lang.Object
-
- gnu.kawa.functions.Arithmetic
-
public class Arithmetic extends Object
-
-
Field Summary
Fields Modifier and Type Field Description static intBIGDECIMAL_CODEPromotion code for java.math.BigDecimal.static intBIGINTEGER_CODEPromotion code for java.math.BigInteger.static intDOUBLE_CODEPromotion code double/Double.static intFLOAT_CODEPromotion code float/Float.static intFLONUM_CODEPromotion code for gnu.math.FloNum.static intINT_CODEPromotion code for byte/Byte, short/Short, int/Integer.static intINTNUM_CODEPromotion code for gnu.math.IntNum.static intLONG_CODEPromotion code for long/Long.static intNUMERIC_CODEPromotion code for other gnu.math.Numeric.static intRATNUM_CODEPromotion code for gnu.math.RatNum.static intREALNUM_CODEPromotion code for gnu.math.RealNum.static intUINT_CODEstatic intULONG_CODEstatic intUNKNOWN_CODE
-
Constructor Summary
Constructors Constructor Description Arithmetic()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static BigDecimalasBigDecimal(Object value)static BigIntegerasBigInteger(Object value)static doubleasDouble(Object value)static floatasFloat(Object value)static intasInt(Object value)static IntNumasIntNum(Object value)static IntNumasIntNum(BigDecimal value)static IntNumasIntNum(BigInteger value)static longasLong(Object value)static NumericasNumeric(Object value)static RatNumasRatNum(Object value)static intclassifyType(Type type)static intclassifyValue(Object value)static Objectconvert(Object value, int code)Coerce a number to one of the Arithmetic.XXX_CODE types.static booleanisExact(Number num)static TypekindType(int kind)static intleastSpecificCode(int code1, int code2)static NumbertoExact(Number num)static NumbertoInexact(Number num)static StringtoString(Object number, int radix)Convert a number to a String.
-
-
-
Field Detail
-
INT_CODE
public static final int INT_CODE
Promotion code for byte/Byte, short/Short, int/Integer.- See Also:
- Constant Field Values
-
UINT_CODE
public static final int UINT_CODE
- See Also:
- Constant Field Values
-
LONG_CODE
public static final int LONG_CODE
Promotion code for long/Long.- See Also:
- Constant Field Values
-
ULONG_CODE
public static final int ULONG_CODE
- 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
-
UNKNOWN_CODE
public static final int UNKNOWN_CODE
- See Also:
- Constant Field Values
-
-
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)
-
asBigInteger
public static BigInteger asBigInteger(Object value)
-
asIntNum
public static IntNum asIntNum(BigDecimal value)
-
asIntNum
public static IntNum asIntNum(BigInteger value)
-
asBigDecimal
public static BigDecimal asBigDecimal(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)
-
-