AUTOSAR C++14 Rule A0-4-2

Тип длинный двойной не должен использоваться

Описание

Определение правила

Тип длинный двойной не должен использоваться.

Объяснение

Размер long double зависит от реализации и снижает переносимость вашего кода между компиляторами. Компиляторы могут реализовать long double как синоним double или 80-битный расширенный тип точности или 128-битный четверной тип точности, которые более точны, чем double.

Вместо этого для множественной арифметики точности, которая требует типов более точных, чем double, используйте библиотеки, которые поддерживают множественную арифметику точности с четко определенными типами данных.

Реализация Polyspace

Средство проверки правил помечает все виды использования long double ключевое слово.

Если вы не хотите устранять проблему, добавьте комментарий с обоснованием результата. Смотрите Адрес Результаты Polyspace через исправления ошибок или обоснования.

Поиск и устранение проблем

Если вы ожидаете нарушения правил, но не видите его, обратитесь к разделу «Стандартные нарушения кодирования не отображаются».

Примеры

расширить все

void func() {
  float f{0.1F};  //Compliant
  double D(0.1);  //Compliant
  long double LD(0.1L);  //Noncompliant
}

Использование long double нарушает это правило.

Проверяйте информацию

Группа: Выражения
Категория: Необходимый, Автоматизированный
Введенный в R2019a