Skip to content

glibc's handling of signaling NaN #10862

@gretay-js

Description

@gretay-js

The value of Float.nan ** 0. expression depends on the version of glibc: it's nan with glibc 2.25 or later, and 1. for older versions.

This is caused by changes in the handling of signaling NaN values in glibc to confirm to TS 18661-1. It affects OCaml's Float.nan, which is a signaling NaN. In this example, the implementation of pow in glibc changed (see issue 20916.), but there may be other functions.

This changes the behavior of some existing ocaml code in subtle ways. How should it be handled?

@xavierleroy

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions