Module Name: src Committed By: riastradh Date: Sat May 11 02:07:54 UTC 2024
Modified Files: src/lib/libm/src: s_nexttoward.c src/tests/lib/libm: t_next.c Log Message: nexttoward(3): Fix high-word test on small positive subnormals. By this point in the logic, x can't be zero, so it's either positive or negative. The high word hx, however, can be zero, when x is a small positive subnormal. This means x is a small positive subnormal, so if x > y we are computing nextDown, and if x < y we are computing nextUp. hx is a (signed 32-bit) integer, not a double floating-point number, so it's a little silly to compare hx > 0.0. But that on its own isn't enough to trigger the bug because all signed 32-bit integers can be represented by double on all NetBSD architectures. PR lib/58236 To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/lib/libm/src/s_nexttoward.c cvs rdiff -u -r1.5 -r1.6 src/tests/lib/libm/t_next.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.