1999-07-29  Andreas Schwab  <schwab@suse.de>

	* misc/efgcvt.c (NDIGIT_MAX): Provide precomputed constants for
	all floating point formats supported by gcc.  Error out for
	unhandled precisions.
	* misc/efgcvt_r.c (NDIGIT_MAX): Likewise.
	* misc/qefgcvt.c (NDIGIT_MAX): Likewise.
	* misc/qefgcvt_r.c (NDIGIT_MAX): Likewise.
This commit is contained in:
Ulrich Drepper 1999-07-29 22:34:58 +00:00
parent dbc75fb3cc
commit f9a2a6369d
6 changed files with 42 additions and 9 deletions

6
BUGS
View File

@ -1,7 +1,7 @@
List of known bugs (certainly very incomplete)
----------------------------------------------
Time-stamp: <1999-07-06T15:37:11-0700 drepper>
Time-stamp: <1999-07-29T15:25:53-0700 drepper>
This following list contains those bugs which I'm aware of. Please
make sure that bugs you report are not listed here. If you can fix one
@ -59,10 +59,6 @@ Severity: [ *] to [***]
[ *] The strftime() implementation cannot handle multibyte locales really
good since the TOLOWER and TOUPPER are not prepared.
[ *] The putenv() function copies it's argument which means that the
string (and possible later changes to it) are not automatically
reflected in the environment.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ulrich Drepper
drepper@cygnus.com

View File

@ -1,3 +1,12 @@
1999-07-29 Andreas Schwab <schwab@suse.de>
* misc/efgcvt.c (NDIGIT_MAX): Provide precomputed constants for
all floating point formats supported by gcc. Error out for
unhandled precisions.
* misc/efgcvt_r.c (NDIGIT_MAX): Likewise.
* misc/qefgcvt.c (NDIGIT_MAX): Likewise.
* misc/qefgcvt_r.c (NDIGIT_MAX): Likewise.
1999-07-29 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/generic/setenv.c: Move setenv code in new function

View File

@ -33,8 +33,14 @@
# define MAXDIG (NDIGIT_MAX + 3)
# if DBL_MANT_DIG == 53
# define NDIGIT_MAX 17
# elif DBL_MANT_DIG == 24
# define NDIGIT_MAX 9
# elif DBL_MANT_DIG == 56
# define NDIGIT_MAX 18
# else
/* See IEEE 854 5.6, table 2 for this formula. */
/* See IEEE 854 5.6, table 2 for this formula. Unfortunately we need a
compile time constant here, so we cannot use it. */
# error "NDIGIT_MAX must be precomputed"
# define NDIGIT_MAX (lrint (ceil (M_LN2 / M_LN10 * DBL_MANT_DIG + 1.0)))
# endif
#endif

View File

@ -32,8 +32,14 @@
# define FLOAT_NAME_EXT
# if DBL_MANT_DIG == 53
# define NDIGIT_MAX 17
# elif DBL_MANT_DIG == 24
# define NDIGIT_MAX 9
# elif DBL_MANT_DIG == 56
# define NDIGIT_MAX 18
# else
/* See IEEE 854 5.6, table 2 for this formula. */
/* See IEEE 854 5.6, table 2 for this formula. Unfortunately we need a
compile time constant here, so we cannot use it. */
# error "NDIGIT_MAX must be precomputed"
# define NDIGIT_MAX (lrint (ceil (M_LN2 / M_LN10 * DBL_MANT_DIG + 1.0)))
# endif
#endif

View File

@ -28,8 +28,16 @@
#define MAXDIG (NDIGIT_MAX + 12)
#if LDBL_MANT_DIG == 64
# define NDIGIT_MAX 21
#elif LDBL_MANT_DIG == 53
# define NDIGIT_MAX 17
#elif LDBL_MANT_DIG == 113
# define NDIGIT_MAX 36
#elif LDBL_MANT_DIG == 56
# define NDIGIT_MAX 18
#else
/* See IEEE 854 5.6, table 2 for this formula. */
/* See IEEE 854 5.6, table 2 for this formula. Unfortunately we need a
compile time constant here, so we cannot use it. */
# error "NDIGIT_MAX must be precomputed"
# define NDIGIT_MAX (lrint (ceil (M_LN2 / M_LN10 * LDBL_MANT_DIG + 1.0)))
#endif

View File

@ -26,8 +26,16 @@
#define FLOAT_NAME_EXT l
#if LDBL_MANT_DIG == 64
# define NDIGIT_MAX 21
#elif LDBL_MANT_DIG == 53
# define NDIGIT_MAX 17
#elif LDBL_MANT_DIG == 113
# define NDIGIT_MAX 36
#elif LDBL_MANT_DIG == 56
# define NDIGIT_MAX 18
#else
/* See IEEE 854 5.6, table 2 for this formula. */
/* See IEEE 854 5.6, table 2 for this formula. Unfortunately we need a
compile time constant here, so we cannot use it. */
# error "NDIGIT_MAX must be precomputed"
# define NDIGIT_MAX (lrint (ceil (M_LN2 / M_LN10 * LDBL_MANT_DIG + 1.0)))
#endif