The <QFloat16> header file provides 16-bit floating point support.
This header file provides support for half-precision (16-bit) floating point data with the class
qfloat16
. It is fully compliant with IEEE 754 as a storage type. This implies that any arithmetic operation on aqfloat16
instance results in the value first being converted to afloat
. This conversion to and fromfloat
is performed by hardware when possible, but on processors that do not natively support half-precision, the conversion is performed through a sequence of lookup table operations.
qfloat16
should be treated as if it were a POD (plain old data) type. Consequently, none of the supported operations need any elaboration beyond stating that it supports all arithmetic operators incident to floating point types.Defining this macro disables the arithmetic operators for qfloat16.
This is only necessary on Visual Studio 2017 (and earlier) when including
<QFloat16>
and<bitset>
in the same translation unit, which would otherwise cause a compilation error due to a toolchain bug (see [QTBUG-72073]).