ไลบรารีขนาดเล็กนี้กำหนดประเภท Half
ซึ่งเป็นค่าทศนิยมแบบครึ่งความแม่นยำ 16 บิต
ประเภท Half
ใช้ตัวดำเนินการมากเกินไป ดังนั้นคุณจึงสามารถใช้งานได้เหมือนกับประเภท Single
หรือ Double
(แม้ว่าจะมีความแม่นยำต่ำกว่าก็ตาม)
หน่วย Neslib.Half
ยังกำหนดตัวช่วยบันทึกสำหรับประเภท Half
เพื่อให้สามารถเข้าถึงข้อมูลภายในของประเภท Half
(ในทำนองเดียวกันกับที่มีตัวช่วยบันทึกสำหรับประเภท Single
และ Double
)
รูปแบบภาพบางรูปแบบใช้ Half
type เพื่อให้ช่วงไดนามิกที่สูงกว่า 8 บิตต่อช่องสัญญาณ โดยไม่ต้องใช้ค่าใช้จ่าย 32 บิตต่อช่องสัญญาณ คุณยังสามารถใช้เพื่อจัดเก็บค่าจุดทศนิยมได้อย่างมีประสิทธิภาพมากขึ้น ในกรณีที่สามารถใส่ค่าลงครึ่งหนึ่งได้โดยไม่สูญเสียความแม่นยำ คุณสามารถใช้ GetSmallestFloatType
เพื่อตรวจสอบว่าค่า Double
พอดีกับค่า Single
หรือ Half
โดยไม่สูญเสียความแม่นยำ
ไลบรารีนี้ใช้อัลกอริธึมการแปลงที่รวดเร็วซึ่งพัฒนาโดย Jeroen van der Zijp เพื่อแปลงจาก Half เป็น Single และในทางกลับกันด้วยวิธีที่รวดเร็วแต่แม่นยำ (ดูเอกสารของเขา "Fast Half Float Conversions")
Neslib.Half ได้รับอนุญาตภายใต้ใบอนุญาต BSD แบบง่าย
ดู License.txt สำหรับรายละเอียด