AcademySoftwareFoundation / AcademySoftwareFoundation/OpenColorIO

MathUtils.h: Investigate replace/remove Clamp() function in favour of C++17 std::clamp()

Offen
#2,255 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Modernise (C++17)
Vorherrschende Sprache
C++
Sterne
2.1k
Forks
503
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

As we are now C++17 or greater we should probably investigate replacing calls to Clamp() with std::clamp.

Care may need with both performance and behaviour of non-normals etc to ensure the behaviour remains unchanged - for example ordering of arguments when one of them is a Nan, handling of +0.0 vs -0.0 etc

https://en.cppreference.com/w/cpp/algorithm/clamp.html

At first glance our implementation appears to be directly substitutable.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne damit, die bestehende Clamp()-Implementierung und alle ihre Aufrufstellen zu finden, und vergleiche sie anschließend mit der verlinkten C++17 std::clamp-Referenz. Als abgeschlossen gilt die Aufgabe, wenn festgestellt wurde, ob die Ersetzung die Leistung und das Verhalten bei der Reihenfolge von NaN-Argumenten sowie bei +0.0 gegenüber -0.0 beibehält, wobei alle betroffenen Verwendungen identifiziert werden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
cpp
Bereich
computer-graphics, performance
Issue-Typ
Refactoring
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
38/100

Neue Issues direkt in Ihr Postfach

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