تحدد هذه المكتبة الصغيرة النوع Half
، وهو عبارة عن قيمة فاصلة عائمة بنصف الدقة تبلغ 16 بت.
يستخدم النوع Half
عوامل تشغيل مثقلة بحيث يمكنك استخدامه تمامًا مثل النوع Single
أو Double
(وإن كان ذلك بدقة أقل).
تحدد وحدة Neslib.Half
أيضًا مساعد تسجيل للنوع Half
لتوفير الوصول إلى الأجزاء الداخلية للنوع Half
(بطريقة مشابهة لوجود مساعدين للتسجيل للنوعين Single
Double
).
يتم استخدام النوع Half
في بعض تنسيقات الصور لتوفير نطاق ديناميكي أعلى من 8 بت لكل قناة، دون اللجوء إلى الحمل الزائد لاستخدام 32 بت لكل قناة. يمكنك أيضًا استخدامه لتخزين قيم الفاصلة العائمة بشكل أكثر كفاءة في حالة إمكانية احتواء القيمة في النصف دون فقدان الدقة. يمكنك استخدام GetSmallestFloatType
لتحديد ما إذا كانت القيمة Double
تناسب قيمة Single
أو Half
دون فقدان الدقة.
تستخدم هذه المكتبة خوارزميات التحويل السريع التي طورها Jeroen van der Zijp للتحويل من نصف إلى مفرد والعكس بطريقة سريعة ولكن دقيقة (راجع مقالته "تحويلات نصف تعويم سريعة").
تم ترخيص Neslib.Half بموجب ترخيص BSD المبسط.
راجع License.txt للحصول على التفاصيل.