exponenta event banner

Правило AUTOSAR C++ 14 A0-4-2

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

Описание

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

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

Объяснение

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

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

Внедрение Polyspace

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

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

Поиск неисправностей

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

Примеры

развернуть все

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

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

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

Группа: Выражения
Категория: Обязательно, Автоматизировано
Представлен в R2019a