Esta pequeña biblioteca define el tipo Half , que es un valor de punto flotante de media precisión de 16 bits.
El tipo Half utiliza operadores sobrecargados, por lo que puede usarlo como un tipo Single o Double (aunque con menor precisión).
La unidad Neslib.Half también define un asistente de registro para el tipo Half para proporcionar acceso a las partes internas del tipo Half (de manera similar a como existen asistentes de registro para los tipos Single y Double ).
Algunos formatos de imagen utilizan el tipo Half para proporcionar un rango dinámico superior a 8 bits por canal, sin recurrir a la sobrecarga de utilizar 32 bits por canal. También puede usarlo para un almacenamiento más eficiente de valores de punto flotante en caso de que el valor pueda caber en un Half sin pérdida de precisión. Puede utilizar GetSmallestFloatType para determinar si un valor Double cabe en Single o Half sin pérdida de precisión.
Esta biblioteca utiliza algoritmos de conversión rápida desarrollados por Jeroen van der Zijp para convertir de Half a Single y viceversa de una manera rápida pero precisa (consulte su artículo "Conversiones rápidas de Half Float").
Neslib.Half tiene la licencia BSD simplificada.
Consulte Licencia.txt para obtener más detalles.