Project

General

Profile

Actions

Bug #17804

closed

Math.cbrt(0.0) returns NaN

Added by chasonr (Ray Chason) almost 3 years ago. Updated almost 3 years ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [x86_64-linux]
[ruby-core:103453]

Description

Math.cbrt(0.0) returns NaN. It should return 0.0.

From reading the implementation, I expect this bug to happen only if glibc is in use. The failing section reads:

#if defined GLIBC
if (isfinite(r)) {
r = (2.0 * r + (f / r / r)) / 3.0;
}
#endif

and this produces a NaN when f and r are both 0.

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0