compareTo method
Compares this object to another object.
Returns a value like a Comparator when comparing this
to other
.
That is, it returns a negative integer if this
is ordered before other
,
a positive integer if this
is ordered after other
,
and zero if this
and other
are ordered together.
The other
argument must be a value that is comparable to this object.
Implementation
@override
int compareTo(Fraction other) {
// I don't perform == on floating point values because it's not reliable.
// Instead, '>' and '<' are more reliable in terms of machine precision so
// 0 is just a fallback.
if (toDouble() < other.toDouble()) {
return -1;
}
if (toDouble() > other.toDouble()) {
return 1;
}
return 0;
}