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:
parent
84154fcc00
commit
3a767b69fd
@ -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
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
@ -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)
|
||||||
|
@ -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);
|
||||||
|
@ -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)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user