|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.codehaus.groovy.runtime.typehandling.NumberMath
public abstract class NumberMath
Stateless objects used to perform math on the various Number subclasses. Instances are required so that polymorphic calls work properly, but each subclass creates a singleton instance to minimize garbage. All methods must be thread-safe. The design goals of this class are as follows:
Constructor Summary | |
---|---|
NumberMath()
|
Method Summary | |
---|---|
static Number |
abs(Number number)
|
protected abstract Number |
absImpl(Number number)
|
static Number |
add(Number left,
Number right)
|
abstract Number |
addImpl(Number left,
Number right)
|
static Number |
and(Number left,
Number right)
|
protected Number |
andImpl(Number left,
Number right)
|
static int |
compareTo(Number left,
Number right)
|
abstract int |
compareToImpl(Number left,
Number right)
|
protected UnsupportedOperationException |
createUnsupportedException(String operation,
Number left)
|
static Number |
divide(Number left,
Number right)
|
abstract Number |
divideImpl(Number left,
Number right)
|
static NumberMath |
getMath(Number left,
Number right)
Determine which NumberMath instance to use, given the supplied operands. |
static Number |
intdiv(Number left,
Number right)
|
protected Number |
intdivImpl(Number left,
Number right)
|
static boolean |
isBigDecimal(Number number)
|
static boolean |
isBigInteger(Number number)
|
static boolean |
isFloatingPoint(Number number)
|
static boolean |
isInteger(Number number)
|
static boolean |
isLong(Number number)
|
static Number |
leftShift(Number left,
Number right)
For this operation, consider the operands independently. |
protected Number |
leftShiftImpl(Number left,
Number right)
|
static Number |
mod(Number left,
Number right)
|
protected Number |
modImpl(Number left,
Number right)
|
static Number |
multiply(Number left,
Number right)
|
abstract Number |
multiplyImpl(Number left,
Number right)
|
static Number |
or(Number left,
Number right)
|
protected Number |
orImpl(Number left,
Number right)
|
static Number |
rightShift(Number left,
Number right)
For this operation, consider the operands independently. |
protected Number |
rightShiftImpl(Number left,
Number right)
|
static Number |
rightShiftUnsigned(Number left,
Number right)
For this operation, consider the operands independently. |
protected Number |
rightShiftUnsignedImpl(Number left,
Number right)
|
static Number |
subtract(Number left,
Number right)
|
abstract Number |
subtractImpl(Number left,
Number right)
|
static BigDecimal |
toBigDecimal(Number n)
|
static BigInteger |
toBigInteger(Number n)
|
static Number |
unaryMinus(Number left)
|
protected abstract Number |
unaryMinusImpl(Number left)
|
static Number |
xor(Number left,
Number right)
|
protected Number |
xorImpl(Number left,
Number right)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public NumberMath()
Method Detail |
---|
public static Number abs(Number number)
public static Number add(Number left, Number right)
public static Number subtract(Number left, Number right)
public static Number multiply(Number left, Number right)
public static Number divide(Number left, Number right)
public static int compareTo(Number left, Number right)
public static Number or(Number left, Number right)
public static Number and(Number left, Number right)
public static Number xor(Number left, Number right)
public static Number intdiv(Number left, Number right)
public static Number mod(Number left, Number right)
public static Number leftShift(Number left, Number right)
public static Number rightShift(Number left, Number right)
public static Number rightShiftUnsigned(Number left, Number right)
public static Number unaryMinus(Number left)
public static boolean isFloatingPoint(Number number)
public static boolean isInteger(Number number)
public static boolean isLong(Number number)
public static boolean isBigDecimal(Number number)
public static boolean isBigInteger(Number number)
public static BigDecimal toBigDecimal(Number n)
public static BigInteger toBigInteger(Number n)
public static NumberMath getMath(Number left, Number right)
protected abstract Number absImpl(Number number)
public abstract Number addImpl(Number left, Number right)
public abstract Number subtractImpl(Number left, Number right)
public abstract Number multiplyImpl(Number left, Number right)
public abstract Number divideImpl(Number left, Number right)
public abstract int compareToImpl(Number left, Number right)
protected abstract Number unaryMinusImpl(Number left)
protected Number orImpl(Number left, Number right)
protected Number andImpl(Number left, Number right)
protected Number xorImpl(Number left, Number right)
protected Number modImpl(Number left, Number right)
protected Number intdivImpl(Number left, Number right)
protected Number leftShiftImpl(Number left, Number right)
protected Number rightShiftImpl(Number left, Number right)
protected Number rightShiftUnsignedImpl(Number left, Number right)
protected UnsupportedOperationException createUnsupportedException(String operation, Number left)
|
Copyright © 2003-2010 The Codehaus. All rights reserved. | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |