Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

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

Offen
#82 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
38/100
Issue-Typ
Dokumentation
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Bereich
documentation

Rechercherichtung

Überprüfe die im Issue verlinkten generierten Dokumentationseinträge für max und compare und reproduziere anschließend die gezeigten NaN-Beispiele, um das Verhalten zu bestätigen. Ermittle, ob die Abweichung erwartungsgemäß ist; abgeschlossen bedeutet, dass die Dokumentation das NaN-Verhalten von max korrekt erklärt oder dass sich das Issue als Fehler erweist, der eine separate Behebung erfordert.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

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?

Vorherrschende Sprache
Keine Sprachdaten
Sterne
37
Forks
20
Ø Merge
5 Min.
Gemergte PRs (30 T.)
2

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus fsharp/fsharp-core-docs

Alle Issues in fsharp/fsharp-core-docs

Ähnliche Issues

Weitere Issues zu Documentation

Neue Issues direkt in Ihr Postfach

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