maximumCommonMantissa static method

double maximumCommonMantissa(
  1. double d1,
  2. double d2
)

Implementation

static double maximumCommonMantissa(double d1, double d2) {
  if (d1 == 0.0 || d2 == 0.0) return 0.0;

  DoubleBits db1 = new DoubleBits.fromDouble(d1);
  DoubleBits db2 = new DoubleBits.fromDouble(d2);

  if (db1.getExponent() != db2.getExponent()) return 0.0;

  int maxCommon = db1.numCommonMantissaBits(db2);
  db1.zeroLowerBits(64 - (12 + maxCommon));
  return db1.getDouble();
}