Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 6 Apr 2003 17:45:37 -0700
From:      David Schultz <das@freebsd.org>
To:        Tim Robbins <tjr@freebsd.org>
Cc:        cvs-all@freebsd.org
Subject:   Re: cvs commit: src/lib/libc/stdio floatio.h vfprintf.c
Message-ID:  <20030407004537.GA50755@HAL9000.homeunix.com>
In-Reply-To: <20030406174843.A44495@dilbert.robbins.dropbear.id.au>
References:  <200304052211.h35MBglG027473@repoman.freebsd.org> <20030406174843.A44495@dilbert.robbins.dropbear.id.au>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Apr 06, 2003, Tim Robbins wrote:
> On Sat, Apr 05, 2003 at 02:11:42PM -0800, David Schultz wrote:
> 
> > das         2003/04/05 14:11:42 PST
> > 
> >   FreeBSD src repository
> > 
> >   Modified files:
> >     lib/libc/stdio       floatio.h vfprintf.c 
> >   Log:
> >   Rework the floating point code in printf().  Significant changes:
> >   
> >   - We used to round long double arguments to double.  Now we print
> >     them properly.
> >   
> >   - Bugs involving '%F', corner cases of '#' and 'g' format
> >     specifiers, and the '.*' precision specifier have been
> >     fixed.
> >   
> >   - Added support for the "'" specifier to print thousands' grouping
> >     characters in a locale-dependent manner.
> >   
> >   - Implement the __vfprintf() side of hexadecimal floating point
> >     support.  All that is still needed is a routine to convert the
> >     mantissa to hex digits one nibble at a time in the style of ultoa().
> 
> I think there is a bug here. I've attached a small test program that mimics
> the behaviour of top's "CPU states" display. Here are the results on 4.x:
[...]
> 	for (i = 0; i < 150; i += 10)
> 		printf(i >= 100 ? "CPU states: %4.0f%%\n" :
> 		    "CPU states: %4.1f%% user\n", (double)i);

Oops!  I have just checked in a fix for the problem.  It was a
little bit tricky due to the handling of thousands' grouping.
Thanks for pointing this out.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030407004537.GA50755>