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(Decimal other) {
var a = nominator;
final b = denominator;
var otherA = other.nominator;
final otherB = other.denominator;
if (b < otherB) {
a *= (otherB ~/ b);
} else if (b > otherB) {
otherA *= (b ~/ otherB);
}
return a.compareTo(otherA);
}