|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjava.lang.Number
org.znerd.math.RealNumber
org.znerd.math.CompositeNumber
org.znerd.math.Sum
A sum of two real numbers.
Instances ofSum must be obtained by using one of the
createInstance() factory methods.
| Field Summary |
| Fields inherited from class org.znerd.math.RealNumber |
MAXIMUM_RADIX |
| Fields inherited from interface org.znerd.math.RoundingModes |
ROUND_CEILING, ROUND_DOWN, ROUND_FLOOR, ROUND_UP |
| Constructor Summary | |
protected |
Sum(RealNumber a,
RealNumber b)
Constructs a Sum based on the 2 specified operands. |
| Method Summary | |
protected int |
compareToImpl(RealNumber n)
Compares this number with the specified number, second level. |
static Sum |
createInstance(RealNumber a,
RealNumber b)
Returns a Sum with the specified operands. |
RealNumber |
getElement(int n)
Returns the nth operand. |
int |
getElementCount()
Counts the number of operands. |
RealNumber[] |
getElements()
Returns the operands. |
BigDecimal |
toBigDecimal(int precision,
int roundingMode)
Converts the value of this number to a BigDecimal with the
specified precision and rounding mode. |
IntegerNumber |
trunc()
Rounds to an integer number towards 0. |
| Methods inherited from class org.znerd.math.RealNumber |
abs, add, byteValue, compareTo, compareTo, divide, doubleValue, equals, fitsByte, fitsDouble, fitsFloat, fitsInt, fitsLong, fitsShort, floatValue, getSign, intValue, invert, longValue, multiply, negate, pow, powImpl, round, shortValue, subtract, toBigDecimal, toBigInteger, toString |
| Methods inherited from class java.lang.Object |
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
protected Sum(RealNumber a,
RealNumber b)
throws IllegalArgumentException,
CanNotCompareException
Sum based on the 2 specified operands.
a - the first operand for the sum, not null.b - the second operand for the sum, not null.
IllegalArgumentException - if a == null || b == null.
CanNotCompareException - if the sign of this sum cannot be determined because the 2 arguments
cannot be compared.| Method Detail |
public static Sum createInstance(RealNumber a,
RealNumber b)
throws IllegalArgumentException,
CanNotCompareException
Sum with the specified operands.
a - the first operand, not null.b - the second operand, not null.
Sum instance, possibly newly constructed.
IllegalArgumentException - if a == null || b == null.
CanNotCompareException - if the sign of this sum cannot be determined because the 2 arguments
cannot be compared.
protected int compareToImpl(RealNumber n)
throws IllegalArgumentException,
CanNotCompareException
RealNumberRealNumber
throws a CanNotCompareException. Concrete subclasses are
encouraged to improve this behaviour by overriding this method.
Note that this method does not check if n == null.
This is already done in RealNumber.compareTo(RealNumber).
compareToImpl in class RealNumbern - the number to compare to, guaranteed to be not null.
CanNotCompareException - if the comparison failed.
IllegalArgumentException
public BigDecimal toBigDecimal(int precision,
int roundingMode)
throws IllegalArgumentException
BigDecimal with the
specified precision and rounding mode.
toBigDecimal in class RealNumberprecision - the number of digits behind the decimal point.roundingMode - the rounding mode to use, one of the modes defined
in class BigDecimal.
BigDecimal with the rounded value of this.
IllegalArgumentException - if precision<0 or
the rounding mode is not one of the valid rounding modes defined in
class BigDecimal.public IntegerNumber trunc()
trunc in class RealNumberpublic RealNumber[] getElements()
CompositeNumber
getElements in class CompositeNumberpublic int getElementCount()
CompositeNumber
getElementCount in class CompositeNumber
public RealNumber getElement(int n)
throws IndexOutOfBoundsException
CompositeNumber
getElement in class CompositeNumbern - the index of the operand, >= 0 and <
CompositeNumber.getElementCount().
null.
IndexOutOfBoundsException - if one of the following applies:
n < 0n >= operandCount
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||