Diese kleine Bibliothek definiert den Half
Typ, bei dem es sich um einen 16-Bit-Gleitkommawert mit halber Genauigkeit handelt.
Der Half
-Typ verwendet überladene Operatoren, sodass Sie ihn wie einen Single
oder Double
-Typ verwenden können (allerdings mit geringerer Genauigkeit).
Die Neslib.Half
-Einheit definiert außerdem einen Datensatzhelfer für den Half
-Typ, um Zugriff auf die Interna des Half
-Typs zu ermöglichen (ähnlich wie es Datensatzhelfer für die Typen Single
und Double
gibt).
Der Half
-Typ wird von einigen Bildformaten verwendet, um einen höheren Dynamikbereich als 8 Bit pro Kanal bereitzustellen, ohne auf den Overhead der Verwendung von 32 Bit pro Kanal zurückgreifen zu müssen. Sie können es auch für eine effizientere Speicherung von Gleitkommawerten verwenden, falls der Wert ohne Präzisionsverlust in eine Hälfte eingepasst werden kann. Sie können GetSmallestFloatType
verwenden, um zu bestimmen, ob ein Double
Wert ohne Präzisionsverlust in einen Single
oder Half
passt.
Diese Bibliothek verwendet schnelle Konvertierungsalgorithmen, die von Jeroen van der Zijp entwickelt wurden, um schnell, aber genau von Half in Single und umgekehrt zu konvertieren (siehe seinen Artikel „Fast Half Float Conversions“).
Neslib.Half ist unter der Simplified BSD License lizenziert.
Weitere Informationen finden Sie in License.txt.