Fix bug in double-precision version of ldexp() in stdlib.

This commit is contained in:
Matt Pharr
2011-07-07 13:57:20 +01:00
parent 96ad2265e7
commit 729f522a01

View File

@@ -1934,7 +1934,7 @@ static inline uniform double ldexp(uniform double x, uniform int n) {
uniform unsigned int64 ix = intbits(x);
ex &= ix;
ix = ix & ~0x7ff0000000000000; // clear exponent
uniform int n64 = ((int64)n << 52) + ex;
uniform int64 n64 = ((int64)n << 52) + ex;
ix |= n64; // insert new exponent
return doublebits(ix);
}