@Override
	public int compareTo(BigFloat other) {
		// this == NaN
		if (isNaN()) {
			if (other.isNaN()) {
				return 0;
			}
			return 1;
		}
		// this != NaN
		if (other.isNaN()) {
			return -1;
		}
		if (isInfinite()) {
			// this == -inf
			if (sign < 0) {
				if (other.isInfinite() && other.sign < 0) {
					return 0;
				}
				return -1;
			}
			// this == +inf
			if (other.isInfinite() && other.sign > 0) {
				return 0;
			}
			return 1;
		}
		// this is finite
		if (other.isInfinite()) {
			return -other.sign;
		}

		// other is finite
		if (this.sign != other.sign) {
			return this.sign;
		}

		// both finite, same sign
		int c = Integer.compare(this.scale, other.scale);
		if (c != 0) {
			return c * this.sign;
		}

		return this.sign * this.unscaled.compareTo(other.unscaled);
	}
Round this value to the nearest whole number
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/pcode/floatformat/BigFloat.java