Some ways of comparing equality between NaN and 'itself' return true

Description

Most ways of checking = of ##NaN to another ##NaN object/primitive return false, which while surprising to many people when they first encounter the behavior, is actually a somewhat reasonable thing to do according to the IEEE 754 specification. In most cases Clojure does this, e.g.:

While most Clojure expressions satisfy the proposed property below, there are a few variations that return results that violate it:

Property 1: Calls to Clojure `=` or `==` involving at least one NaN
return false, whether the call is inlined or not. Calls to Clojure
`not=` involving at least one NaN return true.

Examples of expressions that violate it:

Environment

None

Assignee

Unassigned

Reporter

Andy Fingerhut

Labels

Approval

Triaged

Patch

None

Affects versions

Priority

Minor
Configure