@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + expbits;
		result = prime * result + fracbits;
		result = prime * result + kind.hashCode();
		switch (kind) {
			case FINITE:
				result = prime * result + sign;
				result = prime * result + scale;
				result = prime * result + unscaled.hashCode();
				break;
			case INFINITE:
				result = prime * result + sign;
				break;
			case QUIET_NAN:
			case SIGNALING_NAN:
				break;
		}
		return result;
	}
Construct a BigFloat.  If kind is FINITE, the value is <code>sign*unscaled*2^(scale-fracbits)</code>.
<p>
NOTE: Requires that normal values are constructed in a normal form as with denormal values.

@param fracbits number of fractional bits (positive non-zero value; includes additional 
implied bit if relavent).
@param expbits maximum number of bits in exponent (positive non-zero value)
@param kind the Kind, FINITE, INFINITE, ...
@param sign +1 or -1
@param unscaled the value's mantissa (bit size <= fracbits+1)
@param scale value's scale (signed value with the biased range of expbits)
@throws IllegalArgumentException if invalid unscaled and scale values are specified based upon the fracbits and expbits values.
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/pcode/floatformat/BigFloat.java