gnu.math
Class IntFraction

java.lang.Object
  extended by java.lang.Number
      extended by gnu.math.Numeric
          extended by gnu.math.Quantity
              extended by gnu.math.Complex
                  extended by gnu.math.RealNum
                      extended by gnu.math.RatNum
                          extended by gnu.math.IntFraction
All Implemented Interfaces:
java.io.Externalizable, java.io.Serializable, java.lang.Comparable

public class IntFraction
extends RatNum
implements java.io.Externalizable

Implementation of exact rational numbers a ratio of two IntNums.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class gnu.math.Numeric
CEILING, FLOOR, ROUND, TRUNCATE
 
Constructor Summary
IntFraction(IntNum num, IntNum den)
           
 
Method Summary
 Numeric add(java.lang.Object y, int k)
          Return this + k * obj.
 Numeric addReversed(Numeric x, int k)
          Calculate x+k&this.
 int compare(java.lang.Object obj)
          Return an integer for which of {# code this} or {#code obj} is larger.
 int compareReversed(Numeric x)
           
 IntNum denominator()
           
 Numeric div(java.lang.Object y)
           
 Numeric divReversed(Numeric x)
           
 double doubleValue()
          The value of the real component, as a double.
 boolean isNegative()
           
 long longValue()
           
 Numeric mul(java.lang.Object y)
           
 Numeric mulReversed(Numeric x)
           
 Numeric neg()
           
static IntFraction neg(IntFraction x)
           
 IntNum numerator()
           
 void readExternal(java.io.ObjectInput in)
           
 int sign()
          Return 1 if >0; 0 if ==0; -1 if <0; -2 if NaN.
 java.lang.String toString(int radix)
           
 void writeExternal(java.io.ObjectOutput out)
           
 
Methods inherited from class gnu.math.RatNum
add, compare, divide, equals, equals, infinity, isExact, isZero, make, power, rationalize, times, toExact, toExactInt, toInt
 
Methods inherited from class gnu.math.RealNum
abs, add, asBigDecimal, compareTo, divide, exp, im, log, max, min, re, rneg, sin, sqrt, times, toExactInt, toExactInt, toInt, toScaledInt, toScaledInt, toScaledInt, toStringDecimal, toStringScientific, toStringScientific, toStringScientific, toStringScientific
 
Methods inherited from class gnu.math.Complex
add, angle, compare, divide, doubleImagValue, doubleRealValue, equals, imMinusOne, imOne, make, make, neg, number, polar, polar, power, times
 
Methods inherited from class gnu.math.Quantity
add, compare, dimensions, divide, imValue, make, make, make, reValue, times, unit
 
Methods inherited from class gnu.math.Numeric
add, div_inv, floatValue, geq, grt, intValue, mul_ident, sub, toString
 
Methods inherited from class java.lang.Number
byteValue, shortValue
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

IntFraction

public IntFraction(IntNum num,
                   IntNum den)
Method Detail

numerator

public final IntNum numerator()
Specified by:
numerator in class RatNum

denominator

public final IntNum denominator()
Specified by:
denominator in class RatNum

isNegative

public final boolean isNegative()
Specified by:
isNegative in class RealNum

sign

public final int sign()
Description copied from class: RealNum
Return 1 if >0; 0 if ==0; -1 if <0; -2 if NaN.

Specified by:
sign in class RealNum

compare

public final int compare(java.lang.Object obj)
Description copied from class: Numeric
Return an integer for which of {# code this} or {#code obj} is larger. Return 1 if this>obj; 0 if this==obj; -1 if this<obj; -2 if this!=obj otherwise (for example if either is NaN); -3 if not comparable (incompatible types).

Overrides:
compare in class Complex

compareReversed

public int compareReversed(Numeric x)
Overrides:
compareReversed in class Quantity

add

public Numeric add(java.lang.Object y,
                   int k)
Description copied from class: Numeric
Return this + k * obj.

Specified by:
add in class RealNum

addReversed

public Numeric addReversed(Numeric x,
                           int k)
Description copied from class: Numeric
Calculate x+k&this.

Overrides:
addReversed in class Complex

mul

public Numeric mul(java.lang.Object y)
Specified by:
mul in class RealNum

mulReversed

public Numeric mulReversed(Numeric x)
Overrides:
mulReversed in class Complex

div

public Numeric div(java.lang.Object y)
Specified by:
div in class RealNum

divReversed

public Numeric divReversed(Numeric x)
Overrides:
divReversed in class Complex

neg

public static IntFraction neg(IntFraction x)

neg

public Numeric neg()
Overrides:
neg in class Complex

longValue

public long longValue()
Overrides:
longValue in class Complex

doubleValue

public double doubleValue()
Description copied from class: Quantity
The value of the real component, as a double. This is relative to the unit().dims - i.e. unit()/doubleValue() is factored in.

Overrides:
doubleValue in class Complex

toString

public java.lang.String toString(int radix)
Overrides:
toString in class Complex

writeExternal

public void writeExternal(java.io.ObjectOutput out)
                   throws java.io.IOException
Specified by:
writeExternal in interface java.io.Externalizable
Throws:
java.io.IOException

readExternal

public void readExternal(java.io.ObjectInput in)
                  throws java.io.IOException,
                         java.lang.ClassNotFoundException
Specified by:
readExternal in interface java.io.Externalizable
Throws:
java.io.IOException
java.lang.ClassNotFoundException