Class Fraction

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

public class Fraction extends Object implements Cloneable, Comparable, Serializable
An immutable class representing fractions as pairs of longs. Fractions are always maintained in reduced form.
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected final long
     
    protected final long
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    Fraction(long num, long den)
    Create a Fraction equal in value to num / den
    Create a fraction with the same value as Fraction f
  • Method Summary

    Modifier and Type
    Method
    Description
    double
    Return the value of the Fraction as a double
     
    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
    return a number less, equal, or greater than zero reflecting whether this Fraction is less, equal or greater than the value of Fraction other.
    final long
    Return the denominator
    dividedBy(long n)
    return a Fraction representing this Fraction divided by n
    return a Fraction representing this Fraction divided by b
    boolean
    equals(long n)
     
    boolean
    equals(Object other)
     
    static long
    gcd(long a, long b)
    Compute the nonnegative greatest common divisor of a and b.
    int
     
    return a Fraction representing 1 / this Fraction
    minus(long n)
    return a Fraction representing this Fraction minus n
    return a Fraction representing this Fraction minus b
    return a Fraction representing the negated value of this Fraction
    final long
    Return the numerator
    plus(long n)
    return a Fraction representing this Fraction plus n
    return a Fraction representing this Fraction plus b
    times(long n)
    return a Fraction representing this Fraction times n
    return a Fraction representing this Fraction times b
     

    Methods inherited from class java.lang.Object

    finalize, getClass, notify, notifyAll, wait, wait, wait
  • Field Details

    • numerator_

      protected final long numerator_
    • denominator_

      protected final long denominator_
  • Constructor Details

    • 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 Details

    • numerator

      public final long numerator()
      Return the numerator
    • denominator

      public final long denominator()
      Return the denominator
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • clone

      public Object clone()
      Overrides:
      clone in class 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(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 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(Object other)
      Overrides:
      equals in class Object
    • equals

      public boolean equals(long n)
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object