From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/695 Path: news.gmane.org!not-for-mail From: Rich Felker Newsgroups: gmane.linux.lib.musl.general Subject: float scanner status, upcoming release Date: Mon, 9 Apr 2012 15:17:12 -0400 Message-ID: <20120409191712.GA5269@brightrain.aerifal.cx> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: dough.gmane.org 1333998932 15941 80.91.229.3 (9 Apr 2012 19:15:32 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 9 Apr 2012 19:15:32 +0000 (UTC) To: musl@lists.openwall.com Original-X-From: musl-return-696-gllmg-musl=m.gmane.org@lists.openwall.com Mon Apr 09 21:15:31 2012 Return-path: Envelope-to: gllmg-musl@plane.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by plane.gmane.org with smtp (Exim 4.69) (envelope-from ) id 1SHK3h-00007w-4B for gllmg-musl@plane.gmane.org; Mon, 09 Apr 2012 21:15:25 +0200 Original-Received: (qmail 17496 invoked by uid 550); 9 Apr 2012 19:15:23 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Original-Received: (qmail 17485 invoked from network); 9 Apr 2012 19:15:23 -0000 Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) Xref: news.gmane.org gmane.linux.lib.musl.general:695 Archived-At: Hi all, My recent work on musl has mainly been writing the new floating point scanning code for strtod, scanf, etc. The existing code in musl is essentially just a placeholder; its results were seriously inaccurate in all but the most trivial usage cases. Unfortunately, getting accurate results, especially if you want them correctly rounded for the current rounding direction, destination floating point precision, and denormal corner-cases, is highly non-trivial and involves high-precision arithmetic. At this point, the new implementation is essentially done, but lacking integration with libc; it's just a standalone program for reading decimal floating point strings and converting them. Integration will require a bit more work getting the function interface suitable for use by both *scanf() and strto*()/wcsto*(), along with general cleanups and implementing the now-missing (but MUCH easier) hex float support. I'll keep working on it as time allows, and hope to have it committed within the next few days. At that point I'm hoping to release 0.8.8, so please report any other pending issues that should be fixed before release. Rich