![]() |
|
Message-ID: <7358912-356d-a817-9f7e-f94716243c6@esi.com.au> Date: Fri, 21 Jun 2024 18:16:12 +1000 (AEST) From: Damian McGuckin <damianm@....com.au> To: MUSL <musl@...ts.openwall.com> Subject: Re: roundf() (and round(), and ...) On Fri, 21 Jun 2024, Damian McGuckin wrote: > There is an optimization in roundf() (and an equivalent in round()) > which handles the case of numbers 0 < |x| < 0.5 > > if (e < 0x7f-1) { > return 0*u.f; > } > > If one has lots of numbers close to zero (as you would if you were testing > even possible 32-bit floating point number or for any other reason), this > can mean a total run time is 5% faster overall (at the expense of the > performance of cases for |x| >= 0.5. > > Is such an optimization worth it? And yes, we re not talking about lots of > compute cycles here! This issue also arises in an implementation roundeven() which will be needed for C2Y compliance. - Damian
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.