## 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`