[PATCH] manual: logb(x) is floor(log2(fabs(x)))
Alejandro Colomar
alx@kernel.org
Tue Mar 5 11:10:23 GMT 2024
Hi Vincent!
On Tue, Mar 05, 2024 at 11:02:51AM +0100, Vincent Lefevre wrote:
> On 2024-03-04 23:40:59 +0100, Alejandro Colomar wrote:
> > log2(3) doesn't accept negative input, but it seems logb(3) does
> > accept it.
>
> Yes, but unrelated to that, there was an issue with the text before.
>
> > Link: <https://lore.kernel.org/linux-man/ZeYKUOKYS7G90SaV@debian/T/#u>
> > Reported-by: Morten Welinder <mwelinder@gmail.com>
> > Cc: Adhemerval Zanella Netto <adhemerval.zanella@linaro.org>
> > Signed-off-by: Alejandro Colomar <alx@kernel.org>
> > ---
> > manual/math.texi | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/manual/math.texi b/manual/math.texi
> > index 2f6ee253b9..bf4027c4ee 100644
> > --- a/manual/math.texi
> > +++ b/manual/math.texi
> > @@ -561,7 +561,7 @@ These functions return the base-2 logarithm of @var{x}.
> > @safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
> > These functions extract the exponent of @var{x} and return it as a
> > floating-point value. If @code{FLT_RADIX} is two, @code{logb} is equal
> > -to @code{floor (log2 (x))}, except it's probably faster.
> > +to @code{floor (log2 (fabs ((x)))}, except it's probably faster.
>
> No, it isn't necessarily equal. The code floor (log2 (fabs ((x)))
> can give an incorrect result due to rounding if x is just before
> a power of 2, in particular if x is large.
Hmmm, the bug is different, so how about a second patch for fixing that?
For that, I'd do s/equal/similar/ and s/faster/more accurate/. Does it
sound good to you?
Have a lovely day!
Alex
--
<https://www.alejandro-colomar.es/>
Looking for a remote C programming job at the moment.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/libc-alpha/attachments/20240305/3181388b/attachment.sig>
More information about the Libc-alpha
mailing list