mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-25 22:40:05 +00:00
Update.
2004-11-29 Jakub Jelinek <jakub@redhat.com> * stdlib/strtod_l.c (INTERNAL (__STRTOF)): If densize > 2 and numsize < densize, always shift num up by empty + 1 limbs.
This commit is contained in:
parent
5cf1ec5256
commit
66ebe46c7d
@ -1,3 +1,8 @@
|
|||||||
|
2004-11-29 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
* stdlib/strtod_l.c (INTERNAL (__STRTOF)): If densize > 2
|
||||||
|
and numsize < densize, always shift num up by empty + 1 limbs.
|
||||||
|
|
||||||
2004-12-07 Paolo Bonzini <bonzini@gnu.org>
|
2004-12-07 Paolo Bonzini <bonzini@gnu.org>
|
||||||
|
|
||||||
* posix/regexec.c (proceed_next_node): Simplify treatment of epsilon
|
* posix/regexec.c (proceed_next_node): Simplify treatment of epsilon
|
||||||
|
@ -1442,15 +1442,10 @@ INTERNAL (__STRTOF) (nptr, endptr, group, loc)
|
|||||||
if (numsize < densize)
|
if (numsize < densize)
|
||||||
{
|
{
|
||||||
mp_size_t empty = densize - numsize;
|
mp_size_t empty = densize - numsize;
|
||||||
|
register int i;
|
||||||
|
|
||||||
if (bits <= 0)
|
if (bits <= 0)
|
||||||
{
|
exponent -= empty * BITS_PER_MP_LIMB;
|
||||||
register int i;
|
|
||||||
for (i = numsize; i > 0; --i)
|
|
||||||
num[i + empty] = num[i - 1];
|
|
||||||
MPN_ZERO (num, empty + 1);
|
|
||||||
exponent -= empty * BITS_PER_MP_LIMB;
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (bits + empty * BITS_PER_MP_LIMB <= MANT_DIG)
|
if (bits + empty * BITS_PER_MP_LIMB <= MANT_DIG)
|
||||||
@ -1459,7 +1454,6 @@ INTERNAL (__STRTOF) (nptr, endptr, group, loc)
|
|||||||
cannot optimize the `else' case that good and
|
cannot optimize the `else' case that good and
|
||||||
this reflects all currently used FLOAT types
|
this reflects all currently used FLOAT types
|
||||||
and GMP implementations. */
|
and GMP implementations. */
|
||||||
register int i;
|
|
||||||
#if RETURN_LIMB_SIZE <= 2
|
#if RETURN_LIMB_SIZE <= 2
|
||||||
assert (empty == 1);
|
assert (empty == 1);
|
||||||
__mpn_lshift_1 (retval, RETURN_LIMB_SIZE,
|
__mpn_lshift_1 (retval, RETURN_LIMB_SIZE,
|
||||||
@ -1470,9 +1464,6 @@ INTERNAL (__STRTOF) (nptr, endptr, group, loc)
|
|||||||
while (i >= 0)
|
while (i >= 0)
|
||||||
retval[i--] = 0;
|
retval[i--] = 0;
|
||||||
#endif
|
#endif
|
||||||
for (i = numsize; i > 0; --i)
|
|
||||||
num[i + empty] = num[i - 1];
|
|
||||||
MPN_ZERO (num, empty + 1);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -1492,6 +1483,9 @@ INTERNAL (__STRTOF) (nptr, endptr, group, loc)
|
|||||||
}
|
}
|
||||||
bits += empty * BITS_PER_MP_LIMB;
|
bits += empty * BITS_PER_MP_LIMB;
|
||||||
}
|
}
|
||||||
|
for (i = numsize; i > 0; --i)
|
||||||
|
num[i + empty] = num[i - 1];
|
||||||
|
MPN_ZERO (num, empty + 1);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user