Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Inaccurate/misleading description of max in operators module (wrt. NaN comparison)

Abierto
#82 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
38/100
Tipo de issue
Documentación
Claridad
Bastante claro
Estado de actividad
Estancado

Línea de trabajo

Revisa las entradas de documentación generadas para max y compare enlazadas en el issue y, a continuación, reproduce los ejemplos de NaN mostrados para confirmar el comportamiento. Determina si la discrepancia es esperada; se considera completado cuando la documentación explica correctamente el comportamiento de NaN de max o se demuestra que el issue es un error que requiere una corrección independiente.

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

Descripción

Not sure if this is an error in documentation or purposeful omission, or perhaps a bug in fsharp.

Here max is described as

Maximum based on generic comparison

And here compare is described as

Generic comparison.

However, even though they kind of boil down to the same thing in implementation for most types, they do not specifically for floating point numbers. Moreover, if one defines a max function with compare, for example like this:

let max2 x y = if compare x y < 0 then y else x

Then max2 behaves differently than max with respect to NaN, e.g.:

> max2 1. nan;;
val it: float = 1.0

> max2 nan 1.;;
val it: float = 1.0

whereas

> max nan 1.;;
val it: float = nan

> max 1. nan;;
val it: float = nan

If this discrepancy in behavior is expected, then perhaps it should be documented?

Lenguaje dominante
Sin datos de lenguaje
Estrellas
37
Forks
20
Merge medio
5 min
PR fusionados (30 d)
2

Guía de contribución

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

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de fsharp/fsharp-core-docs

Todos los issues de fsharp/fsharp-core-docs

Issues similares

Más issues de Documentation

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.