android/guava/src/com/google/common/primitives/UnsignedLong.java
@Override
  public double doubleValue() {
    @SuppressWarnings("cast")
    double dValue = (double) (value & UNSIGNED_MASK);
    if (value < 0) {
      dValue += 0x1.0p63;
    }
    return dValue;
  }
@Override
  public double doubleValue() {
    @SuppressWarnings("cast")
    double dValue = (double) (value & UNSIGNED_MASK);
    if (value < 0) {
      dValue += 0x1.0p63;
    }
    return dValue;
  }
@ Override public double doubleValue ( ) { @ SuppressWarnings ( "cast" ) double dValue = ( double ) ( value & UNSIGNED_MASK ) ; if ( value < 0 ) { dValue += 0x1 . 0 p63 ; } return dValue ; }
Returns the value of this {@code UnsignedLong} as a {@code double}, analogous to a widening
primitive conversion from {@code long} to {@code double}, and correctly rounded.
Returns the value of this {