Non-Confidential | PDF version | 100067_0609_00_en | ||

| ||||

Home > Standard C Implementation Definition > Floating-point |

Describes implementation-defined aspects of the Arm^{®} C compiler and C library relating to floating-point operations, as required by the ISO C standard.

- The accuracy of the floating-point operations and of the library functions in
`<math.h>`

and`<complex.h>`

that return floating-point results (5.2.4.2.2). Floating-point quantities are stored in IEEE format:

`float`

values are represented by IEEE single-precision values`double`

and`long double`

values are represented by IEEE double-precision values.

- The accuracy of the conversions between floating-point internal representations and string
representations performed by the library functions in
`<stdio.h>`

,`<stdlib.h>`

, and`<wchar.h>`

(5.2.4.2.2). - The accuracy of the conversions between floating-point internal representations
and string representations performed by the library functions in
`<stdio.h>`

,`<stdlib.h>`

, and`<wchar.h>`

is unknown. - The rounding behaviors characterized by non-standard values of
`FLT_ROUNDS`

(5.2.4.2.2). - Arm Compiler does not define non-standard values for
`FLT_ROUNDS`

. - The evaluation methods characterized by non-standard negative values of
`FLT_EVAL_METHOD`

(5.2.4.2.2). - Arm Compiler does not define non-standard values for
`FLT_EVAL_METHOD`

. - The direction of rounding when an integer is converted to a floating-point number that cannot exactly represent the original value (6.3.1.4).
- The direction of rounding when an integer is converted to a floating point number is "round to nearest even".
- The direction of rounding when a floating-point number is converted to a narrower floating-point number (6.3.1.5).
- When a floating-point number is converted to a different floating-point type and the value is within the range of the destination type, but cannot be represented exactly, the rounding mode is "round to nearest even", by default.
- How the nearest representable value or the larger or smaller representable value immediately adjacent to the nearest representable value is chosen for certain floating constants (6.4.4.2).
- When a floating-point literal is converted to a floating-point value, the rounding mode is "round to nearest even".
- Whether and how floating expressions are contracted when not disallowed by the
`FP_CONTRACT`

pragma (6.5). - If
`–ffp-mode=fast`

,`-ffast-math`

, or`-ffp-contract=fast`

options are in effect, a floating-point expression can be contracted. - The default state for the
`FENV_ACCESS`

pragma (7.6.1). - The default state of the
`FENV_ACCESS`

pragma is`OFF`

. The state`ON`

is not supported. - Additional floating-point exceptions, rounding classifications, and their macro names (7.6,
7.12), modes, environments, and the default state for the
`FP_CONTRACT`

pragma (7.12.2). -
No additional floating-point exceptions, rounding classifications, modes, or environments are defined.

The default state of

`FP_CONTRACT`

pragma is`OFF`

.