unpackDouble method
Implementation
double unpackDouble() {
int h32 = unpackUint32();
int l32 = unpackUint32();
int sign = h32 >> 31;
int exp = ((h32 >> 20) & 0x7ff) - 1023;
int hfrac = (h32 & 0xfffff) | 0x100000;
double frac = hfrac * pow(2, exp - 20).toDouble() + l32 * pow(2, exp - 52).toDouble();
return (sign == 0 ? 1 : -1) * frac;
}