Spec-Zone.ru › Qt 6.0

Класс qfloat16

Обеспечивает поддержку 16-битной плавающей точки. Подробнее...

Заголовок: #include <QFloat16>
CMake: find_package(Qt6 COMPONENTS Core REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
С тех пор: Qt 5.9
  • Список всех членов, включая унаследованные члены

Открытые функции

qfloat16 copySign(qfloat16 sign) const
bool isNormal() const

Связанные нечлены

void qFloatFromFloat16(float *out, const qfloat16 *in, qsizetype len)
void qFloatToFloat16(qfloat16 *out, const float *in, qsizetype len)
int qFpClassify(qfloat16 val)
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)

Подробное описание

Класс qfloat16 предоставляет поддержку данных с плавающей запятой половинной точности (16 бит). Он полностью соответствует IEEE 754 в качестве типа хранения. Это означает, что любая арифметическая операция над экземпляром qfloat16 приводит к тому, что значение сначала преобразуется в float. Это преобразование в float и из него выполняется аппаратно, когда это возможно, но на процессорах, которые не поддерживают половинную точность по умолчанию, преобразование выполняется с помощью последовательности операций поиска в таблице.

qfloat16 следует рассматривать как тип POD (простой старый тип данных). Следовательно, ни одна из поддерживаемых операций не требует дополнительных разъяснений, кроме того, что она поддерживает все арифметические операторы, связанные с типами с плавающей точкой.

Примечание: В x86 и x86-64 для получения ускоренных аппаратных преобразований необходимо скомпилировать с включёнными F16C или AVX2, или использовать qFloatToFloat16() и qFloatFromFloat16(), которые обнаружат F16C во время выполнения.

Документация по членам-функциям

[since 5.15] qfloat16 qfloat16::copySign(qfloat16 sign) const

Возвращает qfloat16 со знаком sign, но остальная часть его значения взята из этого qfloat16. Служит эквивалентом std::copysign() для qfloat16.

Эта функция была введена в Qt 5.15.

[since 5.14] bool qfloat16::isNormal() const

Возвращает true, если это значение qfloat16 является конечным и находится в нормальной форме.

Эта функция была введена в Qt 5.14.

См. также qFpClassify().

Связанные нечлены

[since 5.11] void qFloatFromFloat16(float *out, const qfloat16 *in, qsizetype len)

Преобразует len qfloat16 из in в типы float и сохраняет их в out. И in, и out должны иметь len выделенных элементов.

Эта функция быстрее, чем преобразование значений по одному, и выполняет обнаружение F16C во время выполнения на x86 и x86-64 оборудовании.

Эта функция была введена в Qt 5.11.

[since 5.11] void qFloatToFloat16(qfloat16 *out, const float *in, qsizetype len)

Преобразует len чисел с плавающей точкой из in в qfloat16 и сохраняет их в out. И in, и out должны иметь len выделенных элементов.

Эта функция быстрее, чем преобразование значений по одному, и выполняет обнаружение F16C во время выполнения на x86 и x86-64 оборудовании.

Эта функция была введена в Qt 5.11.

[since 5.14] int qFpClassify(qfloat16 val)

Эта функция перегружает qFpClassify(float).

Возвращает класс с плавающей точкой val.

Эта функция была введена в Qt 5.14.

bool qFuzzyCompare(qfloat16 p1, qfloat16 p2)

Эта функция перегружает qFuzzyCompare(float, float).

Сравнивает значения с плавающей точкой p1 и p2 и возвращает true, если они считаются равными, в противном случае false.

Два числа сравниваются по отношению, где точность выше, чем числа меньше.

bool qIsFinite(qfloat16 f)

Эта функция перегружает qIsFinite(float).

Возвращает true, если qfloat16 f является конечным числом.

bool qIsInf(qfloat16 f)

Эта функция перегружает qIsInf(float).

Возвращает true, если qfloat16 f эквивалентен бесконечности.

bool qIsNaN(qfloat16 f)

Эта функция перегружает qIsNaN(float).

Возвращает true, если qfloat16 f не является числом (NaN).

qint64 qRound64(qfloat16 value)

Эта функция перегружает qRound64(float).

Округляет value до ближайшего 64-битного целого числа.

int qRound(qfloat16 value)

Эта функция перегружает qRound(float).

Округляет value до ближайшего целого числа.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qfloat16.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API