2003-09-09 Jeff Johnston <jjohnstn@redhat.com>

* libc/machine/powerpc/fix64.h: Fix typo for _simdldcheck
        prototype.
        * libc/machine/powerpc/simdldtoa.c: Remove prototype for
        _simdldcheck().  Also add unsigned cast for index variable in
        for loop using sizeof operators.
        * libc/machine/powerpc/strtoufix32.c: Remove unused variable.
        * libc/machine/powerpc/strtosfix64.c: Fix call to _simdldcheck.
        * libc/machine/powerpc/strtoufix64.c (_strtoufix64_r): Ditto
        plus fix shift calculation for determining if there is a
        carry from word2.
This commit is contained in:
Jeff Johnston 2003-09-09 22:53:27 +00:00
parent 84154fcc00
commit 3a767b69fd
6 changed files with 19 additions and 7 deletions

View File

@ -1,3 +1,16 @@
2003-09-09 Jeff Johnston <jjohnstn@redhat.com>
* libc/machine/powerpc/fix64.h: Fix typo for _simdldcheck
prototype.
* libc/machine/powerpc/simdldtoa.c: Remove prototype for
_simdldcheck(). Also add unsigned cast for index variable in
for loop using sizeof operators.
* libc/machine/powerpc/strtoufix32.c: Remove unused variable.
* libc/machine/powerpc/strtosfix64.c: Fix call to _simdldcheck.
* libc/machine/powerpc/strtoufix64.c (_strtoufix64_r): Ditto
plus fix shift calculation for determining if there is a
carry from word2.
2003-09-09 Corinna Vinschen <corinna@vinschen.de> 2003-09-09 Corinna Vinschen <corinna@vinschen.de>
* libc/include/grp.h: Don't define setgrfile, group_from_gid and * libc/include/grp.h: Don't define setgrfile, group_from_gid and

View File

@ -33,7 +33,7 @@ union long_double_union
typedef union long_double_union LONG_DOUBLE_UNION; typedef union long_double_union LONG_DOUBLE_UNION;
extern void _simdstrtold (char *, char **, LONG_DOUBLE_UNION *); extern void _simdstrtold (char *, char **, LONG_DOUBLE_UNION *);
extern int _simdldchk (LONG_DOUBLE_UNION *); extern int _simdldcheck (LONG_DOUBLE_UNION *);
#define SIMD_LDBL_MANT_DIG 113 #define SIMD_LDBL_MANT_DIG 113

View File

@ -16,7 +16,6 @@
/* linux name: long double _IO_strtold (char *, char **); */ /* linux name: long double _IO_strtold (char *, char **); */
void _simdstrtold (char *, char **, LONG_DOUBLE_UNION *); void _simdstrtold (char *, char **, LONG_DOUBLE_UNION *);
char * _simdldtoa_r (struct _reent *, LONG_DOUBLE_UNION *, int, int, int *, int *, char **); char * _simdldtoa_r (struct _reent *, LONG_DOUBLE_UNION *, int, int, int *, int *, char **);
int _simdldcheck (LONG_DOUBLE_UNION *);
/* Number of 16 bit words in external x type format */ /* Number of 16 bit words in external x type format */
#define NE 10 #define NE 10
@ -2752,7 +2751,7 @@ if( mode == 0 )
/* we want to have enough space to hold the formatted result */ /* we want to have enough space to hold the formatted result */
i = ndigits + (mode == 3 ? (MAX_EXP_DIGITS + 1) : 1); i = ndigits + (mode == 3 ? (MAX_EXP_DIGITS + 1) : 1);
j = sizeof (__ULong); j = sizeof (__ULong);
for (_REENT_MP_RESULT_K(ptr) = 0; sizeof (_Bigint) - sizeof (__ULong) + j <= i; j <<= 1) for (_REENT_MP_RESULT_K(ptr) = 0; sizeof (_Bigint) - sizeof (__ULong) + j <= (unsigned)i; j <<= 1)
_REENT_MP_RESULT_K(ptr)++; _REENT_MP_RESULT_K(ptr)++;
_REENT_MP_RESULT(ptr) = Balloc (ptr, _REENT_MP_RESULT_K(ptr)); _REENT_MP_RESULT(ptr) = Balloc (ptr, _REENT_MP_RESULT_K(ptr));
outstr = (char *)_REENT_MP_RESULT(ptr); outstr = (char *)_REENT_MP_RESULT(ptr);

View File

@ -28,7 +28,7 @@ _DEFUN (_strtosfix64_r, (rptr, nptr, endptr),
_simdstrtold ((char *)nptr, endptr, &ldbl); _simdstrtold ((char *)nptr, endptr, &ldbl);
/* treat NAN as domain error, +/- infinity as saturation */ /* treat NAN as domain error, +/- infinity as saturation */
ld_type = _simdldcheck (&ldbl.ld); ld_type = _simdldcheck (&ldbl);
if (ld_type != 0) if (ld_type != 0)
{ {
if (ld_type == 1) if (ld_type == 1)

View File

@ -19,7 +19,7 @@ _DEFUN (_strtoufix32_r, (rptr, nptr, endptr),
char **endptr) char **endptr)
{ {
union double_union dbl; union double_union dbl;
int exp, negexp, sign; int exp, negexp;
__uint32_t tmp, tmp2, result = 0; __uint32_t tmp, tmp2, result = 0;
dbl.d = _strtod_r (rptr, nptr, endptr); dbl.d = _strtod_r (rptr, nptr, endptr);

View File

@ -27,7 +27,7 @@ _DEFUN (_strtoufix64_r, (rptr, nptr, endptr),
_simdstrtold ((char *)nptr, endptr, &ldbl); _simdstrtold ((char *)nptr, endptr, &ldbl);
/* treat NAN as domain error, +/- infinity as saturation */ /* treat NAN as domain error, +/- infinity as saturation */
ld_type = _simdldcheck (&ldbl.ld); ld_type = _simdldcheck (&ldbl);
if (ld_type != 0) if (ld_type != 0)
{ {
if (ld_type == 1) if (ld_type == 1)
@ -86,7 +86,7 @@ _DEFUN (_strtoufix64_r, (rptr, nptr, endptr),
{ {
if (Ebits < 32) if (Ebits < 32)
{ {
result = tmp + ((word2(ldbl) & (1 << (64 - Ebits - 1))) != 0); result = tmp + ((word2(ldbl) & (1 << (32 - Ebits - 1))) != 0);
/* if rounding causes carry, then saturation has occurred */ /* if rounding causes carry, then saturation has occurred */
if (result < tmp) if (result < tmp)
{ {