Package org.geotools.metadata.math
Class Fraction
- Object
-
- Number
-
- Fraction
-
- All Implemented Interfaces:
Serializable
,Cloneable
,Comparable<Fraction>
public final class Fraction extends Number implements Comparable<Fraction>, Cloneable
A fraction made of a numerator and a denominator. This is not the purpose of this class to provides a full-fledged library for fractional number handling. This class exists mostly for the limited needs of some operations on tiled images.For performance reasons, the methods in this class never create new objects. They always operate on an object specified in argument, and store the result in the object on which the method was invoked.
This class is final for performance reason.
- Since:
- 2.5
- Author:
- Martin Desruisseaux (MPO)
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description Fraction()
Creates a new fraction initialized to 0/0, which is an indetermined value.Fraction(int numerator)
Creates a new fraction initialized to the given numerator.Fraction(int numerator, int denominator)
Creates a new fraction.Fraction(Fraction other)
Creates a new fraction initialized to the same value than the given fraction.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(Fraction other)
Adds to this fraction the values given by the given fraction.static int
ceil(int numerator, int denominator)
Computesnumerator / denominator
and rounds the result toward positive infinity.Fraction
clone()
Returns a clone of this fraction.int
compareTo(Fraction other)
Compares this fraction with the given one for order.int
denominator()
Returns the denominator.void
divide(Fraction other)
Divides this fraction by the given fraction.double
doubleValue()
Returns the fraction as a floating point number.boolean
equals(Object other)
Compares this fraction with the given object for equality.float
floatValue()
Returns the fraction as a floating point number.static int
floor(int numerator, int denominator)
Computesnumerator / denominator
and rounds the result toward negative infinity.int
hashCode()
int
intValue()
Returns this fraction rounded to nearest integer.long
longValue()
Returns this fraction rounded to nearest integer.void
multiply(Fraction other)
Multiplies this fraction by the given fraction.int
numerator()
Returns the numerator.static int
round(int numerator, int denominator)
Computesnumerator / denominator
and rounds the result toward nearest integer.static long
round(long numerator, long denominator)
Computesnumerator / denominator
and rounds the result toward nearest integer.void
set(int numerator, int denominator)
Sets this fraction to the given value.void
subtract(Fraction other)
Subtracts to this fraction the values given by the given fraction.String
toString()
Returns a string representation of this fraction.
-
-
-
Constructor Detail
-
Fraction
public Fraction()
Creates a new fraction initialized to 0/0, which is an indetermined value. Note that this is not the same than initializing a fraction to 0.
-
Fraction
public Fraction(Fraction other)
Creates a new fraction initialized to the same value than the given fraction.- Parameters:
other
- The fraction to copy in this fraction.
-
Fraction
public Fraction(int numerator)
Creates a new fraction initialized to the given numerator.- Parameters:
numerator
- The numerator.
-
Fraction
public Fraction(int numerator, int denominator)
Creates a new fraction.- Parameters:
numerator
- The numerator.denominator
- The denominator.
-
-
Method Detail
-
set
public void set(int numerator, int denominator)
Sets this fraction to the given value.- Parameters:
numerator
- The numerator.denominator
- The denominator.
-
add
public void add(Fraction other)
Adds to this fraction the values given by the given fraction. The results is stored in this fraction.- Parameters:
other
- The fraction to add to this fraction.
-
subtract
public void subtract(Fraction other)
Subtracts to this fraction the values given by the given fraction. The results is stored in this fraction.- Parameters:
other
- The fraction to subtract to this fraction.
-
multiply
public void multiply(Fraction other)
Multiplies this fraction by the given fraction. The results is stored in this fraction.- Parameters:
other
- The fraction to multiply to this fraction.
-
divide
public void divide(Fraction other)
Divides this fraction by the given fraction. The results is stored in this fraction.- Parameters:
other
- The fraction to divide to this fraction.
-
numerator
public int numerator()
Returns the numerator.- Returns:
- The numerator.
-
denominator
public int denominator()
Returns the denominator.- Returns:
- The denominator.
-
doubleValue
public double doubleValue()
Returns the fraction as a floating point number.- Specified by:
doubleValue
in classNumber
- Returns:
- This fraction as a floating point number.
-
floatValue
public float floatValue()
Returns the fraction as a floating point number.- Specified by:
floatValue
in classNumber
- Returns:
- This fraction as a floating point number.
-
longValue
public long longValue()
Returns this fraction rounded to nearest integer.- Specified by:
longValue
in classNumber
- Returns:
- This fraction rounded to nearest integer.
-
intValue
public int intValue()
Returns this fraction rounded to nearest integer.- Specified by:
intValue
in classNumber
- Returns:
- This fraction rounded to nearest integer.
-
round
public static long round(long numerator, long denominator)
Computesnumerator / denominator
and rounds the result toward nearest integer. If the result is located at equal distance from the two nearest integers, then rounds to the even one.- Parameters:
numerator
- The numerator in the division.denominator
- The denominator in the division.- Returns:
numerator / denominator
rounded toward nearest integer.
-
round
public static int round(int numerator, int denominator)
Computesnumerator / denominator
and rounds the result toward nearest integer. If the result is located at equal distance from the two nearest integers, then rounds to the even one.- Parameters:
numerator
- The numerator in the division.denominator
- The denominator in the division.- Returns:
numerator / denominator
rounded toward nearest integer.
-
floor
public static int floor(int numerator, int denominator)
Computesnumerator / denominator
and rounds the result toward negative infinity. This is different from the default operation on primitive types, which rounds toward zero.Tip: if the numerator and the denominator are both positive or both negative, then the result is positive and identical to
numerator / denominator
.- Parameters:
numerator
- The numerator in the division.denominator
- The denominator in the division.- Returns:
numerator / denominator
rounded toward negative infinity.
-
ceil
public static int ceil(int numerator, int denominator)
Computesnumerator / denominator
and rounds the result toward positive infinity. This is different from the default operation on primitive types, which rounds toward zero.- Parameters:
numerator
- The numerator in the division.denominator
- The denominator in the division.- Returns:
numerator / denominator
rounded toward positive infinity.
-
compareTo
public int compareTo(Fraction other)
Compares this fraction with the given one for order.- Specified by:
compareTo
in interfaceComparable<Fraction>
- Parameters:
other
- The fraction to compare to this fraction for ordering.- Returns:
- A negative number if this fraction is smaller than the given fraction, a positive number if greater, or 0 if equals.
-
equals
public boolean equals(Object other)
Compares this fraction with the given object for equality.- Overrides:
equals
in classObject
- Parameters:
other
- The object to compare with this fraction for equality.- Returns:
true
if the given object is an other fraction numerically equals to this fraction.
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classObject
-
clone
public Fraction clone()
Returns a clone of this fraction.- Overrides:
clone
in classObject
- Returns:
- A clone of this fraction.
-
toString
public String toString()
Returns a string representation of this fraction.- Overrides:
toString
in classObject
- Returns:
- A string representation of this fraction.
-
-