EDU.oswego.cs.dl.util.concurrent.misc
Class Fraction

java.lang.Object
  |
  +--EDU.oswego.cs.dl.util.concurrent.misc.Fraction
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Comparable, java.io.Serializable

public class Fraction
extends java.lang.Object
implements java.lang.Cloneable, java.lang.Comparable, java.io.Serializable

An immutable class representing fractions as pairs of longs. Fractions are always maintained in reduced form.

See Also:
Serialized Form

Constructor Summary
Fraction(Fraction f)
          Create a fraction with the same value as Fraction f
Fraction(long num, long den)
          Create a Fraction equal in value to num / den
 
Method Summary
 double asDouble()
          Return the value of the Fraction as a double
 java.lang.Object clone()
           
 int compareTo(long n)
          return a number less, equal, or greater than zero reflecting whether this Fraction is less, equal or greater than n.
 int compareTo(java.lang.Object other)
          return a number less, equal, or greater than zero reflecting whether this Fraction is less, equal or greater than the value of Fraction other.
 long denominator()
          Return the denominator
 Fraction dividedBy(Fraction b)
          return a Fraction representing this Fraction divided by b
 Fraction dividedBy(long n)
          return a Fraction representing this Fraction divided by n
 boolean equals(long n)
           
 boolean equals(java.lang.Object other)
           
static long gcd(long a, long b)
          Compute the nonnegative greatest common divisor of a and b.
 int hashCode()
           
 Fraction inverse()
          return a Fraction representing 1 / this Fraction
 Fraction minus(Fraction b)
          return a Fraction representing this Fraction minus b
 Fraction minus(long n)
          return a Fraction representing this Fraction minus n
 Fraction negative()
          return a Fraction representing the negated value of this Fraction
 long numerator()
          Return the numerator
 Fraction plus(Fraction b)
          return a Fraction representing this Fraction plus b
 Fraction plus(long n)
          return a Fraction representing this Fraction plus n
 Fraction times(Fraction b)
          return a Fraction representing this Fraction times b
 Fraction times(long n)
          return a Fraction representing this Fraction times n
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Fraction

public Fraction(long num,
                long den)
Create a Fraction equal in value to num / den


Fraction

public Fraction(Fraction f)
Create a fraction with the same value as Fraction f

Method Detail

numerator

public final long numerator()
Return the numerator


denominator

public final long denominator()
Return the denominator


toString

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

clone

public java.lang.Object clone()
Overrides:
clone in class java.lang.Object

asDouble

public double asDouble()
Return the value of the Fraction as a double


gcd

public static long gcd(long a,
                       long b)
Compute the nonnegative greatest common divisor of a and b. (This is needed for normalizing Fractions, but can be useful on its own.)


negative

public Fraction negative()
return a Fraction representing the negated value of this Fraction


inverse

public Fraction inverse()
return a Fraction representing 1 / this Fraction


plus

public Fraction plus(Fraction b)
return a Fraction representing this Fraction plus b


plus

public Fraction plus(long n)
return a Fraction representing this Fraction plus n


minus

public Fraction minus(Fraction b)
return a Fraction representing this Fraction minus b


minus

public Fraction minus(long n)
return a Fraction representing this Fraction minus n


times

public Fraction times(Fraction b)
return a Fraction representing this Fraction times b


times

public Fraction times(long n)
return a Fraction representing this Fraction times n


dividedBy

public Fraction dividedBy(Fraction b)
return a Fraction representing this Fraction divided by b


dividedBy

public Fraction dividedBy(long n)
return a Fraction representing this Fraction divided by n


compareTo

public int compareTo(java.lang.Object other)
return a number less, equal, or greater than zero reflecting whether this Fraction is less, equal or greater than the value of Fraction other.

Specified by:
compareTo in interface java.lang.Comparable

compareTo

public int compareTo(long n)
return a number less, equal, or greater than zero reflecting whether this Fraction is less, equal or greater than n.


equals

public boolean equals(java.lang.Object other)
Overrides:
equals in class java.lang.Object

equals

public boolean equals(long n)

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object