This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Ping Re: Fix strtod rounding (bug 3479)


On Saturday, August 25, 2012 15:40:12 Joseph S. Myers wrote:
> This revised version of my patch for bug 3479 - again, relative to a
> tree with the integer overflow fix
> <http://sourceware.org/ml/libc-alpha/2012-08/msg00388.html> (pending
> review) applied - improves the added testcase also to verify the signs
> of results equal to 0.  Tested x86_64 and x86.
> 
> 2012-08-25  Joseph Myers  <joseph@codesourcery.com>
> 
> 	[BZ #3479]
> 	* stdlib/strtod_l.c (NDIG): Remove.
> 	(HEXNDIG): Likewise.
> 	(MPNSIZE): Increase to represent 10^n where 2^-n is 1/4 ulp of the
> 	smallest representable value.
> 	(____STRTOF_INTERNAL): Use all fractional decimal digits that may
> 	lie within an exact representation of 1/2 ulp of the result.
> 	* stdlib/fpioconst.c (__tens): Include 10^2^9 and 10^2^10
> 	unconditionally.
> 	(TENS_P9_IDX): Define unconditionally.
> 	(TENS_P9_SIZE): Likewise.
> 	(TENS_P10_IDX): Likewise.
> 	(TENS_P10_SIZE): Likewise.
> 	[BITS_PER_MP_LIMB == 32]: Change condition for larger powers of 10
> 	to !defined __NO_LONG_DOUBLE_MATH && __LDBL_MAX_EXP__ > 1024.
> 	[!__NO_LONG_DOUBLE_MATH && __LDBL_MAX_EXP__ > 1024] (__tens): Add
> 	entries for 10^2^13 and 10^2^14.
> 	[!__NO_LONG_DOUBLE_MATH && __LDBL_MAX_EXP__ > 1024]
> 	(TENS_P13_IDX): Define.
> 	(TENS_P13_SIZE): Likewise.
> 	(TENS_P14_IDX): Likewise.
> 	(TENS_P14_SIZE): Likewise.
> 	(_fpioconst_pow10): Change array size to
> 	FPIOCONST_POW10_ARRAY_SIZE.  Make entries for 10^2^9 and 10^2^10
> 	unconditional.
> 	(_fpioconst_pow10) [!__NO_LONG_DOUBLE_MATH && __LDBL_MAX_EXP__ >
> 	1024]: Add entries for 10^2^13 and 10^2^14.
> 	[LAST_POW10 > _LAST_POW10]: Remove #error.
> 	* stdlib/fpioconst.h (FPIOCONST_POW10_ARRAY_SIZE): Define.
> 	(_fpioconst_pow10): Change array size to
> 	FPIOCONST_POW10_ARRAY_SIZE.
> 	* stdlib/gen-fpioconst.c: New file.
> 	* stdlib/gen-tst-strtod-round.c: Likewise.
> 	* stdlib/tst-strtod-round-data: Likewise.
> 	* stdlib/tst-strtod-round.c: Likewise.
> 	* stdlib/Makefile (tests): Add tst-strtod-round.

Thanks, this is fine,

Andreas
-- 
 Andreas Jaeger aj@{suse.com,opensuse.org} Twitter/Identica: jaegerandi
  SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
   GF: Jeff Hawn,Jennifer Guild,Felix Imendörffer,HRB16746 (AG Nürnberg)
    GPG fingerprint = 93A3 365E CE47 B889 DF7F  FED1 389A 563C C272 A126


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]