Spec-Zone.ru › GCC 15

4.6 Числа с плавающей точкой

  • Точность операций с плавающей точкой и библиотечных функций в <math.h> и <complex.h>, возвращающих результаты с плавающей точкой (C90, C99 и C11 5.2.4.2.2).

    Точность неизвестна.

  • Поведение при округлении, характеризуемое нестандартными значениями FLT_ROUNDS (C90, C99 и C11 5.2.4.2.2).

    GCC не использует такие значения.

  • Методы вычисления, характеризуемые нестандартными отрицательными значениями FLT_EVAL_METHOD (C99 и C11 5.2.4.2.2).

    GCC не использует такие значения.

  • Направление округления при преобразовании целого числа в число с плавающей точкой, которое не может точно представить исходное значение (C90 6.2.1.3, C99 и C11 6.3.1.4).

    Соблюдаются положения приложения F стандарта C99.

  • Направление округления при преобразовании числа с плавающей точкой в число с плавающей точкой меньшей разрядности (C90 6.2.1.4, C99 и C11 6.3.1.5).

    Соблюдаются положения приложения F стандарта C99.

  • Способ выбора для некоторых констант с плавающей точкой ближайшего представимого значения либо большего или меньшего представимого значения, непосредственно соседнего с ближайшим представимым значением (C90 6.1.3.1, C99 и C11 6.4.4.2).

    Соблюдаются положения приложения F стандарта C99.

  • Выполняется ли объединение выражений с плавающей точкой и каким образом, если оно не запрещено директивой FP_CONTRACT (C99 и C11 6.5).

    В настоящее время выражения объединяются только при использовании -ffp-contract=fast, -funsafe-math-optimizations или -ffast-math. Это может измениться.

  • Состояние по умолчанию для директивы FENV_ACCESS (C99 и C11 7.6.1).

    Эта директива не реализована, но по умолчанию она «выключена», если не используется -frounding-math и используется -fno-trapping-math; в этом случае она «включена».

  • Дополнительные исключения с плавающей точкой, режимы округления, окружения и классификации, а также имена соответствующих макросов (C99 и C11 7.6, C99 и C11 7.12).

    Это зависит от реализации библиотеки C и не определяется самим GCC.

  • Состояние по умолчанию для директивы FP_CONTRACT (C99 и C11 7.12.2).

    Эта директива не реализована. В настоящее время выражения объединяются только при использовании -ffp-contract=fast, -funsafe-math-optimizations или -ffast-math. Это может измениться.

  • Может ли возникнуть исключение с плавающей точкой “inexact”, когда округлённый результат фактически совпадает с математическим результатом в реализации, соответствующей IEC 60559 (C99 F.9).

    Это зависит от реализации библиотеки C и не определяется самим GCC.

  • Может ли возникнуть исключение с плавающей точкой “underflow” (и “inexact”), когда результат является малым, но точным, в реализации, соответствующей IEC 60559 (C99 F.9).

    Это зависит от реализации библиотеки C и не определяется самим GCC.

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-15.3.0/gcc/Floating-point-implementation.html

Spec-Zone.ru

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