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(DynamicNumber<dynamic> other) {
if (other.isDecimal) {
var cmp = compareTo(other.toDynamicInt());
if (cmp == 0) {
return other.toDecimal().isDecimalPartZero ? 0 : 1;
} else {
return cmp;
}
} else if (isBigInt || other.isBigInt) {
return toBigInt().compareTo(other.toBigInt());
} else {
return toInt().compareTo(other.toInt());
}
}