Spec-Zone.ru › Qt 6.1

Класс 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 значений float из 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.1/qfloat16.html

Spec-Zone.ru

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