```
static constexpr T min() noexcept;
```

```
static constexpr T max() noexcept;
```

```
static constexpr T lowest() noexcept;
```

```
static constexpr int digits;
```

```
static constexpr int digits10;
```

```
static constexpr int max_digits10;
```

```
static constexpr bool is_signed;
```

```
static constexpr bool is_integer;
```

```
static constexpr bool is_exact;
```

```
static constexpr int radix;
```

```
static constexpr T epsilon() noexcept;
```

```
static constexpr T round_error() noexcept;
```

```
static constexpr int min_exponent;
```

```
static constexpr int min_exponent10;
```

```
static constexpr int max_exponent;
```

```
static constexpr int max_exponent10;
```

```
static constexpr bool has_infinity;
```

```
static constexpr bool has_quiet_NaN;
```

```
static constexpr bool has_signaling_NaN;
```

```
static constexpr float_denorm_style has_denorm;
```

```
static constexpr bool has_denorm_loss;
```

```
static constexpr T infinity() noexcept;
```

```
static constexpr T quiet_NaN() noexcept;
```

```
static constexpr T signaling_NaN() noexcept;
```

```
static constexpr T denorm_min() noexcept;
```

```
static constexpr bool is_iec559;
```

```
static constexpr bool is_bounded;
```

```
static constexpr bool is_modulo;
```

[ Example

: *end example*

]is_modulo is false for signed integer types ([basic.fundamental])
unless an implementation, as an extension to this document,
defines signed integer overflow to wrap.

— ```
static constexpr bool traps;
```

```
static constexpr bool tinyness_before;
```

```
static constexpr float_round_style round_style;
```

lowest() is necessary because not all
floating-point representations have a smallest (most negative) value that is
the negative of the largest (most positive) finite value.

Rounding error is described in
LIA-1
Section 5.2.4 and
Annex C Rationale Section C.5.2.4 — Rounding and rounding constants.