Esta pequena biblioteca define o tipo Half , que é um valor de ponto flutuante de meia precisão de 16 bits.
O tipo Half usa operadores sobrecarregados para que você possa usá-lo como um tipo Single ou Double (embora com menor precisão).
A unidade Neslib.Half também define um auxiliar de registro para o tipo Half para fornecer acesso aos internos do tipo Half (de forma semelhante a que existem auxiliares de registro para os tipos Single e Double ).
O tipo Half é usado por alguns formatos de imagem para fornecer uma faixa dinâmica superior a 8 bits por canal, sem recorrer ao overhead de usar 32 bits por canal. Você também pode usá-lo para armazenamento mais eficiente de valores de ponto flutuante, caso o valor possa ser ajustado em Half sem perda de precisão. Você pode usar GetSmallestFloatType para determinar se um valor Double cabe em Single ou Half sem perda de precisão.
Esta biblioteca usa algoritmos de conversão rápida desenvolvidos por Jeroen van der Zijp para converter de Half para Single e vice-versa de maneira rápida, mas precisa (veja seu artigo "Fast Half Float Conversions").
Neslib.Half está licenciado sob a Licença BSD Simplificada.
Consulte License.txt para obter detalhes.