fracOp method Null safety

Value fracOp()

Implementation

Value fracOp() {
  if (asMatrix != null) {
    throw CalculatorError(1);
  }
  final int e = exponent;
  if (e > 9) {
    return zero;
  } else if (e < 0) {
    return this;
  }
  final BigInt u = _upper52;
  final BigInt mag = (u << ((e + 1) * 4)) & _mantissaMagnitude;
  if ((u & _mantissaSign) == BigInt.zero) {
    return Value._fromMantissaAndRawExponent(mag, 0x999); // 0x999 is -1
  } else {
    return Value._fromMantissaAndRawExponent(mag | _mantissaSign, 0x999);
  }
}