haskell / haskell/binary

decode (encode NaN) /= NaN

Abierto
#64 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Haskell
Estrellas
120
Forks
70
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

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
```

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Línea de trabajo

Empieza leyendo los puntos de entrada encode y decode del paquete Haskell binary, centrándote en la ruta de Float y Double que usa decodeFloat. Reproduce los ejemplos de NaN indicados y verifica después que codificar y decodificar NaN conserva NaN para ambos tipos.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
haskell
Área
backend
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
42/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.