if (!(type instanceof FixType)) {
throw new IllegalArgumentException("FixType._compare: "
+ "The argument is not a FixType.");
}
Precision precision = ((FixType) type).getPrecision();
int fractionBits1 = _precision.getFractionBitLength();
int fractionBits2 = precision.getFractionBitLength();
int integerBits1 = _precision.getFractionBitLength();
int integerBits2 = precision.getFractionBitLength();
boolean signBit1 = _precision.isSigned();
boolean signBit2 = precision.isSigned();
int compareBits1, compareBits2;
if (_precision.equals(precision)) {
return CPO.SAME;
} else if (signBit1 == signBit2) {