gnu.kawa.functions

Class Arithmetic

public class Arithmetic extends Object

Various utility methods and conversions for handling mixed-mode arithmetic. This should possibly be moved to gnu.math.
Field Summary
static intBIGDECIMAL_CODE
Promotion code for java.math.BigDecimal.
static intBIGINTEGER_CODE
Promotion code for java.math.BigInteger.
static intDOUBLE_CODE
Promotion code double/Double.
static intFLOAT_CODE
Promotion code float/Float.
static intFLONUM_CODE
Promotion code for gnu.math.FloNum.
static intINTNUM_CODE
Promotion code for gnu.math.IntNum.
static intINT_CODE
Promotion code for byte/Byte, short/Short, int/Integer.
static intLONG_CODE
Promotion code for long/Long.
static intNUMERIC_CODE
Promotion code for other gnu.math.Numeric.
static intRATNUM_CODE
Promotion code for gnu.math.RatNum.
static IntNumten_exp_9
Method Summary
static BigDecimalasBigDecimal(Object value)
static BigIntegerasBigInteger(Object value)
static doubleasDouble(Object value)
static floatasFloat(Object value)
static intasInt(Object value)
static IntNumasIntNum(BigDecimal value)
static IntNumasIntNum(BigInteger value)
static IntNumasIntNum(Object value)
static longasLong(Object value)
static NumericasNumeric(Object value)
static RatNumasRatNum(Object value)
static intclassifyValue(Object value)
static Objectconvert(Object value, int code)
Coerce a number to one of the Arithmetic.XXX_CODE types.
static StringtoString(Object number, int radix)
Convert a number to a String.

Field Detail

BIGDECIMAL_CODE

public static final int BIGDECIMAL_CODE
Promotion code for java.math.BigDecimal.

BIGINTEGER_CODE

public static final int BIGINTEGER_CODE
Promotion code for java.math.BigInteger.

DOUBLE_CODE

public static final int DOUBLE_CODE
Promotion code double/Double.

FLOAT_CODE

public static final int FLOAT_CODE
Promotion code float/Float.

FLONUM_CODE

public static final int FLONUM_CODE
Promotion code for gnu.math.FloNum.

INTNUM_CODE

public static final int INTNUM_CODE
Promotion code for gnu.math.IntNum.

INT_CODE

public static final int INT_CODE
Promotion code for byte/Byte, short/Short, int/Integer.

LONG_CODE

public static final int LONG_CODE
Promotion code for long/Long.

NUMERIC_CODE

public static final int NUMERIC_CODE
Promotion code for other gnu.math.Numeric.

RATNUM_CODE

public static final int RATNUM_CODE
Promotion code for gnu.math.RatNum.

ten_exp_9

public static final IntNum ten_exp_9

Method Detail

asBigDecimal

public static BigDecimal asBigDecimal(Object value)

asBigInteger

public static BigInteger asBigInteger(Object value)

asDouble

public static double asDouble(Object value)

asFloat

public static float asFloat(Object value)

asInt

public static int asInt(Object value)

asIntNum

public static IntNum asIntNum(BigDecimal value)

asIntNum

public static IntNum asIntNum(BigInteger value)

asIntNum

public static IntNum asIntNum(Object value)

asLong

public static long asLong(Object value)

asNumeric

public static Numeric asNumeric(Object value)

asRatNum

public static RatNum asRatNum(Object value)

classifyValue

public static int classifyValue(Object value)

convert

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

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.