Class Fraction
- java.lang.Object
-
- EDU.oswego.cs.dl.util.concurrent.misc.Fraction
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,java.lang.Comparable
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
-
-
Field Summary
Fields Modifier and Type Field Description protected long
denominator_
protected long
numerator_
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description double
asDouble()
Return the value of the Fraction as a doublejava.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 denominatorFraction
dividedBy(long n)
return a Fraction representing this Fraction divided by nFraction
dividedBy(Fraction b)
return a Fraction representing this Fraction divided by bboolean
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 FractionFraction
minus(long n)
return a Fraction representing this Fraction minus nFraction
minus(Fraction b)
return a Fraction representing this Fraction minus bFraction
negative()
return a Fraction representing the negated value of this Fractionlong
numerator()
Return the numeratorFraction
plus(long n)
return a Fraction representing this Fraction plus nFraction
plus(Fraction b)
return a Fraction representing this Fraction plus bFraction
times(long n)
return a Fraction representing this Fraction times nFraction
times(Fraction b)
return a Fraction representing this Fraction times bjava.lang.String
toString()
-
-
-
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 classjava.lang.Object
-
clone
public java.lang.Object clone()
- Overrides:
clone
in classjava.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(long n)
return a Fraction representing this Fraction plus n
-
minus
public Fraction minus(long n)
return a Fraction representing this Fraction minus n
-
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 interfacejava.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 classjava.lang.Object
-
equals
public boolean equals(long n)
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
-