haskell / haskell/binary

decode (encode NaN) /= NaN

Offen
#64 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Haskell
Sterne
120
Forks
70
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

The IEEE "not-a-number" (NaN) value is not encoded properly, since `encode` uses `decodeFloat`, which is unspecified for NaN (cf. [Prelude](http://hackage.haskell.org/package/base-4.7.0.1/docs/Prelude.html#v:decodeFloat)).

Examples:

``` Haskell
(0 / 0 :: Double) = NaN
(decode (encode (0 / 0 :: Double)) :: Double) = -Infinity
(log (-1) :: Double) = NaN
(decode (encode (log (-1) :: Double)) :: Double) = Infinity
(0 / 0 :: Float) = NaN
(decode (encode (0 / 0 :: Float)) :: Float) = -Infinity
```

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.