Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

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

Aperta
#82 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
38/100
Tipo di issue
Documentazione
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Ambito
documentation

Direzione di ricerca

Esamina le voci di documentazione generate per max e compare collegate nell’issue, quindi riproduci gli esempi di NaN mostrati per confermare il comportamento. Determina se la discrepanza è prevista; il lavoro è completato quando la documentazione spiega accuratamente il comportamento di NaN di max oppure viene dimostrato che l’issue è un bug che richiede una correzione separata.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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?

Lingua principale
Nessun dato sulla lingua
Stelle
37
Fork
20
Merge medio
5m
PR unite (30g)
2

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di fsharp/fsharp-core-docs

Tutte le issue di fsharp/fsharp-core-docs

Issue simili

Altre issue su Documentation

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.