Pustaka kecil ini mendefinisikan tipe Half
, yang merupakan nilai titik mengambang setengah presisi 16-bit.
Tipe Half
menggunakan operator yang kelebihan beban sehingga Anda dapat menggunakannya seperti tipe Single
atau Double
(walaupun dengan presisi lebih rendah).
Unit Neslib.Half
juga mendefinisikan record helper untuk tipe Half
untuk menyediakan akses ke internal tipe Half
(dengan cara yang sama seperti ada record helper untuk tipe Single
dan Double
).
Tipe Half
digunakan oleh beberapa format gambar untuk memberikan rentang dinamis yang lebih tinggi dari 8 bit per saluran, tanpa menggunakan overhead penggunaan 32 bit per saluran. Anda juga dapat menggunakannya untuk penyimpanan nilai floating-point yang lebih efisien jika nilainya dapat dimasukkan ke dalam Setengah tanpa kehilangan presisi. Anda dapat menggunakan GetSmallestFloatType
untuk menentukan apakah nilai Double
cocok dengan Nilai Single
atau Half
tanpa kehilangan presisi.
Pustaka ini menggunakan algoritma konversi cepat yang dikembangkan oleh Jeroen van der Zijp untuk mengkonversi dari Half ke Single dan sebaliknya dengan cara yang cepat namun akurat (lihat makalahnya "Fast Half Float Conversions").
Neslib.Half dilisensikan di bawah Lisensi BSD Sederhana.
Lihat License.txt untuk detailnya.