diff options
author | Alejandro Colomar <alx@kernel.org> | 2024-03-31 22:38:44 +0200 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2024-04-03 09:16:22 -0300 |
commit | 077613291b271b64fa60b8a22c3b39c9db697b65 (patch) | |
tree | 5f0db3f8a94ffd7669e8f520c81bac34411d2c32 | |
parent | b7d15bd1f00ae3f941150c9e49e65fbc6595adda (diff) | |
download | glibc-077613291b271b64fa60b8a22c3b39c9db697b65.zip glibc-077613291b271b64fa60b8a22c3b39c9db697b65.tar.gz glibc-077613291b271b64fa60b8a22c3b39c9db697b65.tar.bz2 |
manual: floor(log2(fabs(x))) has rounding errors
Link: <https://inbox.sourceware.org/libc-alpha/20240305150131.GD3653@qaa.vinc17.org/T/#m3ceecda630012995339bcc5448fee451cf277a8b>
Reported-by: Vincent Lefevre <vincent@vinc17.net>
Suggested-by: Vincent Lefevre <vincent@vinc17.net>
Reviewed-by: DJ Delorie <dj@redhat.com>
Cc: Morten Welinder <mwelinder@gmail.com>
Cc: Adhemerval Zanella Netto <adhemerval.zanella@linaro.org>
Cc: Paul Zimmermann <Paul.Zimmermann@inria.fr>
Cc: Andreas Schwab <schwab@linux-m68k.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
-rw-r--r-- | manual/math.texi | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/manual/math.texi b/manual/math.texi index c54eaeb..79bf3a1 100644 --- a/manual/math.texi +++ b/manual/math.texi @@ -560,8 +560,11 @@ These functions return the base-2 logarithm of @var{x}. @standardsx{logbfNx, TS 18661-3:2015, math.h} @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 (fabs (x)))}, except it's probably faster. +floating-point value. +If @code{FLT_RADIX} is two, +@code{logb (x)} is similar to @code{floor (log2 (fabs (x)))}, +except that the latter may give an incorrect integer +due to intermediate rounding. If @var{x} is de-normalized, @code{logb} returns the exponent @var{x} would have if it were normalized. If @var{x} is infinity (positive or |