return 0x800000;
}
- return trunc(round(ldexp(d, 23)));
+ // The casts are here because some compilers do weird shit. See bug #149.
+ return (uint32_t)((int32_t)trunc(round(ldexp(d, 23))));
}
// Invert the result, if necessary
if (signBit == 1)
- result = (result = 0xFFFFFFFFFFFFFFFFLL) + 1;
+ result = (result ^ 0xFFFFFFFFFFFFFFFFLL) + 1;
return result;
}