<QFloat16> - 16-bit Floating Point Support

The <QFloat16> header file provides 16-bit floating point support. 更多...

该文档编制在 Qt 5.9 引入。

函数

void qFloatFromFloat16 (float * out , const qfloat16 * in , qsizetype len )
void qFloatToFloat16 (qfloat16 * out , const float * in , qsizetype len )
bool qFuzzyCompare (qfloat16 p1 , qfloat16 p2 )
bool qIsFinite (qfloat16 f )
bool qIsInf (qfloat16 f )
bool qIsNaN (qfloat16 f )
qint64 qRound64 (qfloat16 value )
int qRound (qfloat16 value )

QT_NO_FLOAT16_OPERATORS

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 a qfloat16 instance results in the value first being converted to a float . This conversion to and from float 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.

函数文档编制

void qFloatFromFloat16 ( float * out , const qfloat16 * in , qsizetype len )

转换 len qfloat16 from in to floats and stores them in out . Both in and out must have len allocated entries.

该函数在 Qt 5.11 引入。

void qFloatToFloat16 ( qfloat16 * out , const float * in , qsizetype len )

转换 len floats from in to qfloat16 and stores them in out . Both in and out must have len allocated entries.

该函数在 Qt 5.11 引入。

bool qFuzzyCompare ( qfloat16 p1 , qfloat16 p2 )

比较浮点值 p1 and p2 并返回 true 若它们被认为相等,否则 false .

The two numbers are compared in a relative way, where the exactness is stronger the smaller the numbers are.

bool qIsFinite ( qfloat16 f )

返回 true 若 qfloat16 f 是有限数。

另请参阅 qIsFinite .

bool qIsInf ( qfloat16 f )

返回 true 若 qfloat16 f 相当于无穷大。

另请参阅 qIsInf .

bool qIsNaN ( qfloat16 f )

返回 true 若 qfloat16 f 是 NaN (非数字)。

另请参阅 qIsNaN .

qint64 qRound64 ( qfloat16 value )

圆整 value 到最近 64 位整数。

另请参阅 qRound64 .

int qRound ( qfloat16 value )

圆整 value 到最近整数。

另请参阅 qRound .

宏文档编制

QT_NO_FLOAT16_OPERATORS

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]).

该函数在 Qt 5.12.4 引入。