Spec-Zone.ru › Qt 5.13

<QFloat16> - Поддержка 16-битного плавающей точки

Заголовочный файл <QFloat16> предоставляет поддержку 16-битного представления чисел с плавающей точкой. Подробнее...

Заголовок: #include <QFloat16>
С версии: Qt 5.9

Данная документация была введена в 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

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

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

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

Документация функций

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

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

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

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

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

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

bool qFuzzyCompare(qfloat16 p1, qfloat16 p2)

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

Числа сравниваются относительно, точность увеличивается при уменьшении значений.

bool qIsFinite(qfloat16 f)

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

См. также qIsFinite.

bool qIsInf(qfloat16 f)

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

См. также qIsInf.

bool qIsNaN(qfloat16 f)

Возвращает true, если значение с плавающей точкой f является неопределённым (NaN).

См. также qIsNaN.

qint64 qRound64(qfloat16 value)

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

См. также qRound64.

int qRound(qfloat16 value)

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

См. также qRound.

Документация макросов

QT_NO_FLOAT16_OPERATORS

Определение этого макроса отключает арифметические операторы для qfloat16.

Это необходимо только в Visual Studio 2017 (и более ранних версиях), когда в одном трансляционном модуле включаются <QFloat16> и <bitset>, что в противном случае приведёт к ошибке компиляции из-за ошибки в инструменте (см. [QTBUG-72073]).

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

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

Spec-Zone.ru

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