Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS | NEXT CLASS FRAMES  | NO FRAMES
SUMMARY:  INNER | FIELD | CONSTR | METHOD DETAIL:  FIELD | CONSTR | METHOD

Class nl.coffee.math.AbstractRationalNumber

java.lang.Object
  |
  +--java.lang.Number
        |
        +--nl.coffee.math.AbstractRealNumber
              |
              +--nl.coffee.math.AbstractRationalNumber
Subclasses:
AbstractIntegerNumber, BasicRationalNumber

public abstract class AbstractRationalNumber
extends AbstractRealNumber
implements RationalNumber
Abstract base class for RationalNumber implementations.

Concrete subclasses should at least provide an implementations for the following methods:

IntegerNumber implementations based on this class must override the following methods:

Since:
JUMP_1.0
Version:
1.2 199809.24
Author:
Ernst de Haan
See Also:
Serialized Form

Constructor Summary
AbstractRationalNumber()
          Constructs a new AbstractRationalNumber.
 
Method Summary
RealNumber add(RealNumber n)
           
RationalNumber add(RationalNumber n)
           
int compareTo(RationalNumber n)
           
RealNumber divide(RealNumber n)
           
RationalNumber divide(RationalNumber n)
           
double doubleValue()
           
int getSign()
           
RealNumber invert()
           
RealNumber multiply(RealNumber n)
           
RationalNumber multiply(RationalNumber n)
           
RealNumber negate()
           
RealNumber pow(RealNumber n)
           
RationalNumber pow(IntegerNumber n)
           
int retryCompare(RealNumber n)
           
int retryCompare(RationalNumber n)
           
RealNumber subtract(RealNumber n)
           
RationalNumber subtract(RationalNumber n)
           
java.math.BigDecimal toBigDecimal(int precision)
           
java.math.BigDecimal toBigDecimal(int precision, int roundingMode)
           
java.lang.String toString()
           
IntegerNumber trunc()
           
 
Methods inherited from class nl.coffee.math.AbstractRealNumber
abs, add, byteValue, compareTo, divide, doubleValue, equals, fitsByte, fitsDouble, fitsFloat, fitsInt, fitsLong, fitsShort, floatValue, hashCode, intValue, invert, longValue, multiply, negate, pow, retryCompare, shortValue, subtract, toBigDecimal, toBigInteger
 
Methods inherited from class java.lang.Number
byteValue, doubleValue, floatValue, intValue, longValue, shortValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notifyAll, notify, toString, wait, wait, wait
 

Constructor Detail

AbstractRationalNumber

protected AbstractRationalNumber()
Constructs a new AbstractRationalNumber.
Method Detail

compareTo

public int compareTo(RationalNumber n)
             throws java.lang.IllegalArgumentException
Description copied from interface:
 
Specified by:
compareTo in interface RationalNumber

getSign

public int getSign()

retryCompare

public int retryCompare(RealNumber n)
                throws java.lang.IllegalArgumentException,
                       CanNotCompareException
Overrides:
retryCompare in class AbstractRealNumber

retryCompare

public int retryCompare(RationalNumber n)
                throws java.lang.IllegalArgumentException

negate

public RealNumber negate()
Overrides:
negate in class AbstractRealNumber

invert

public RealNumber invert()
Overrides:
invert in class AbstractRealNumber

add

public RealNumber add(RealNumber n)
Overrides:
add in class AbstractRealNumber

add

public RationalNumber add(RationalNumber n)
                                 throws java.lang.IllegalArgumentException
Description copied from interface:
Computes this+n, where n is a rational number.
Specified by:
add in interface RationalNumber

subtract

public RealNumber subtract(RealNumber n)
                                  throws java.lang.IllegalArgumentException
Overrides:
subtract in class AbstractRealNumber

subtract

public RationalNumber subtract(RationalNumber n)
                                      throws java.lang.IllegalArgumentException
Description copied from interface:
Computes this-n, where n is a rational number.
Specified by:
subtract in interface RationalNumber

multiply

public RealNumber multiply(RealNumber n)
Overrides:
multiply in class AbstractRealNumber

multiply

public RationalNumber multiply(RationalNumber n)
                                      throws java.lang.IllegalArgumentException
Description copied from interface:
Computes this*n, where n is a rational number.
Specified by:
multiply in interface RationalNumber

divide

public RealNumber divide(RealNumber n)
                                throws java.lang.IllegalArgumentException,
                                       java.lang.ArithmeticException
Overrides:
divide in class AbstractRealNumber

divide

public RationalNumber divide(RationalNumber n)
                                    throws java.lang.ArithmeticException,
                                           java.lang.IllegalArgumentException
Description copied from interface:
Computes this/n, where n is a rational number.
Specified by:
divide in interface RationalNumber

pow

public RealNumber pow(RealNumber n)
                             throws java.lang.IllegalArgumentException
Overrides:
pow in class AbstractRealNumber

pow

public RationalNumber pow(IntegerNumber n)
                                 throws java.lang.IllegalArgumentException
Description copied from interface:
Computes this**n, where n is an integer number.
Specified by:
pow in interface RationalNumber

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

doubleValue

public double doubleValue()
Overrides:
doubleValue in class AbstractRealNumber

toBigDecimal

public java.math.BigDecimal toBigDecimal(int precision)
                                 throws java.lang.IllegalArgumentException
Overrides:
toBigDecimal in class AbstractRealNumber

toBigDecimal

public java.math.BigDecimal toBigDecimal(int precision,
                               int roundingMode)
                                 throws java.lang.IllegalArgumentException

trunc

public IntegerNumber trunc()

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS | NEXT CLASS FRAMES  | NO FRAMES
SUMMARY:  INNER | FIELD | CONSTR | METHOD DETAIL:  FIELD | CONSTR | METHOD