pnuts.lang
Class Arithmetic

java.lang.Object
  |
  +--pnuts.lang.Arithmetic

public final class Arithmetic
extends java.lang.Object

The Arithmetic class is geared for transparent multi-precision arithmetic operations.

Here is the type conversion table for binary operation:

BigDecimalBigIntegerDoubleFloatLongInteger
BigDecimalBigDecimalBigDecimalBigDecimalBigDecimalBigDecimalBigDecimal
BigIntegerBigDecimalBigIntegerBigDecimalBigDecimalBigIntegerBigInteger
DoubleBigDecimalBigDecimalDoubleDoubleDoubleDouble
FloatBigDecimalBigDecimalDoubleFloatFloatFloat
LongBigDecimalBigIntegerDoubleFloatLongLong
IntegerBigDecimalBigIntegerDoubleFloatLongInteger


Field Summary
static int EQUAL
           
static int LEFT_IS_BIGGER
           
static int NOT_EQUAL
           
static int RIGHT_IS_BIGGER
           
 
Constructor Summary
Arithmetic()
           
 
Method Summary
static java.lang.Object abs(java.lang.Object n1)
           
static java.lang.Object add(java.lang.Object n1, java.lang.Object n2)
           
static java.lang.Object and(java.lang.Object n1, java.lang.Object n2)
           
static int compareTo(java.lang.Object n1, java.lang.Object n2)
           
static java.lang.Object divide(java.lang.Object n1, java.lang.Object n2)
           
static java.lang.Object gcd(java.lang.Object n1, java.lang.Object n2)
           
static java.lang.Object inverse(java.lang.Object n1)
           
static java.lang.Object mod(java.lang.Object n1, java.lang.Object n2)
           
static java.lang.Object multiply(java.lang.Object n1, java.lang.Object n2)
           
static java.lang.Object negate(java.lang.Object n1)
           
static java.lang.Object not(java.lang.Object n1)
           
static java.lang.Object or(java.lang.Object n1, java.lang.Object n2)
           
static java.lang.Object pow(java.lang.Object n1, java.lang.Object n2)
           
static java.lang.Object remainder(java.lang.Object n1, java.lang.Object n2)
           
static java.lang.Object shiftArithmetic(java.lang.Object n1, java.lang.Object n2)
           
static java.lang.Object shiftLeft(java.lang.Object n1, java.lang.Object n2)
           
static java.lang.Object shiftRight(java.lang.Object n1, java.lang.Object n2)
           
static java.lang.Object subtract(java.lang.Object n1, java.lang.Object n2)
           
static java.lang.Object xor(java.lang.Object n1, java.lang.Object n2)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NOT_EQUAL

public static final int NOT_EQUAL

LEFT_IS_BIGGER

public static final int LEFT_IS_BIGGER

RIGHT_IS_BIGGER

public static final int RIGHT_IS_BIGGER

EQUAL

public static final int EQUAL
Constructor Detail

Arithmetic

public Arithmetic()
Method Detail

add

public static final java.lang.Object add(java.lang.Object n1,
                                         java.lang.Object n2)

subtract

public static final java.lang.Object subtract(java.lang.Object n1,
                                              java.lang.Object n2)

multiply

public static final java.lang.Object multiply(java.lang.Object n1,
                                              java.lang.Object n2)

divide

public static final java.lang.Object divide(java.lang.Object n1,
                                            java.lang.Object n2)

compareTo

public static final int compareTo(java.lang.Object n1,
                                  java.lang.Object n2)

remainder

public static final java.lang.Object remainder(java.lang.Object n1,
                                               java.lang.Object n2)

gcd

public static final java.lang.Object gcd(java.lang.Object n1,
                                         java.lang.Object n2)

pow

public static final java.lang.Object pow(java.lang.Object n1,
                                         java.lang.Object n2)

mod

public static final java.lang.Object mod(java.lang.Object n1,
                                         java.lang.Object n2)

and

public static final java.lang.Object and(java.lang.Object n1,
                                         java.lang.Object n2)

or

public static final java.lang.Object or(java.lang.Object n1,
                                        java.lang.Object n2)

xor

public static final java.lang.Object xor(java.lang.Object n1,
                                         java.lang.Object n2)

shiftLeft

public static final java.lang.Object shiftLeft(java.lang.Object n1,
                                               java.lang.Object n2)

shiftRight

public static final java.lang.Object shiftRight(java.lang.Object n1,
                                                java.lang.Object n2)

shiftArithmetic

public static final java.lang.Object shiftArithmetic(java.lang.Object n1,
                                                     java.lang.Object n2)

abs

public static final java.lang.Object abs(java.lang.Object n1)

negate

public static java.lang.Object negate(java.lang.Object n1)

inverse

public static java.lang.Object inverse(java.lang.Object n1)

not

public static final java.lang.Object not(java.lang.Object n1)