/uspace/trunk/softfloat/generic/conversion.c |
---|
59,6 → 59,8 |
mant <<= 1; |
--result.parts.exp; |
}; |
++result.parts.exp; |
result.parts.mantisa = mant; |
}; |
108,7 → 110,6 |
result.parts.exp = 0; |
exp *= -1; |
if (exp > FLOAT32_MANTISA_SIZE ) { |
/* FIXME: underflow */ |
result.parts.mantisa = 0; |
117,9 → 118,11 |
/* denormalized */ |
mant = result.parts.mantisa >> 1; |
mant = a.parts.mantisa; |
mant |= 0x10000000000000ll; /* denormalize and set hidden bit */ |
mant >>= (FLOAT64_MANTISA_SIZE - FLOAT32_MANTISA_SIZE + 1); |
while (exp > 0) { |
--exp; |
mant >>= 1; |