|
Message-ID: <20140405014120.GT26358@brightrain.aerifal.cx> Date: Fri, 4 Apr 2014 21:41:20 -0400 From: Rich Felker <dalias@...ifal.cx> To: musl@...ts.openwall.com Subject: Re: printf issues On Fri, Apr 04, 2014 at 08:01:00PM -0400, Morten Welinder wrote: > I *think* the right fix is to add the following "if' statement into > the rounding loop: > > while (*d > 999999999) { > *d--=0; > if (d < a) *--a = 0; > (*d)++; > } > > This also ought to make the d<a test afterwards unnecessary. But > more tests would be better. This looks right. Are you sure a==big is not possible at this point? I *think* it's impossible, since a==big can only happen if e2<0, in which case applying the exponent is going to reduce the first slot so that rounding could never cause it to overflow. Do you agree with this analysis? Rich
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.