Hello,

Just my two cents here.

On Wed, Oct 31, 2018 at 12:34 PM Bernhard Reutner-Fischer
<rep.dot....@gmail.com> wrote:
>
> >
> > 64-bit double's mantissa is only 53 bits...
> >
> > With "long double" shenanigans, I managed to "improve" this to:
> >
> > $ ./busybox printf "%f\n" 18446744073709550592 18446744073709553665
> > 18446744073709550591.500000
> > 18446744073709553663.500000
> >
> > at this cost:
> >
> > function                                             old     new   delta
> > printf_main                                          909     976     +67
> > strtold                                                -      19     +19
> > print_direc                                          457     475     +18
> > conv_strtod                                           54      61      +7
> > ------------------------------------------------------------------------------
> > (add/remove: 3/0 grow/shrink: 3/0 up/down: 130/0)             Total: 111 
> > bytes
> >
> > See attached. Do you think it's worth it?
>
> I don't know.
> long double can be very slow (emulated) and complex to support, which
> might not be of concern here though.
> But first and foremost nobody complained yet AFAIK.
> Maybe keep it as is? Actively reject values too large for plain double
> in printf(1) for now?
> dunno.

Maybe hide the float/double/long double behind a config ? Some people
may want printf to support long values, while some other (like me)
does not need it.

Best regards,

-- Emmanuel Deloget
_______________________________________________
busybox mailing list
busybox@busybox.net
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to