Spec-Zone.ru › Qt

Класс 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(Qt::Initialization)
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 6.1] qfloat16::qfloat16(Qt::Initialization)

Конструирует qfloat16 без инициализации значения.

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

[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.2/qfloat16.html

Spec-Zone.ru

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