From Jason Turner

[lex.fcon]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpotbvtyut/{from.md → to.md} +14 -4
tmp/tmpotbvtyut/{from.md → to.md} RENAMED
@@ -53,23 +53,33 @@ digit-sequence:
53
  digit-sequence '''ₒₚₜ digit
54
  ```
55
 
56
  ``` bnf
57
  floating-point-suffix: one of
58
- 'f l F L'
59
  ```
60
 
61
- The type of a *floating-point-literal* is determined by its
 
62
  *floating-point-suffix* as specified in [[lex.fcon.type]].
63
 
 
 
 
 
64
  **Table: Types of *floating-point-literal*{s}** <a id="lex.fcon.type">[lex.fcon.type]</a>
65
 
66
  | *floating-point-suffix* | type |
67
- | ----------------------- | --------------- |
68
  | none | `double` |
69
  | `f` or `F` | `float` |
70
  | `l` or `L` | `long` `double` |
 
 
 
 
 
71
 
72
 
73
  The *significand* of a *floating-point-literal* is the
74
  *fractional-constant* or *digit-sequence* of a
75
  *decimal-floating-point-literal* or the
@@ -78,11 +88,11 @@ The *significand* of a *floating-point-literal* is the
78
  of *digit*s or *hexadecimal-digit*s and optional period are interpreted
79
  as a base N real number s, where N is 10 for a
80
  *decimal-floating-point-literal* and 16 for a
81
  *hexadecimal-floating-point-literal*.
82
 
83
- [*Note 1*: Any optional separating single quotes are ignored when
84
  determining the value. — *end note*]
85
 
86
  If an *exponent-part* or *binary-exponent-part* is present, the exponent
87
  e of the *floating-point-literal* is the result of interpreting the
88
  sequence of an optional *sign* and the *digit*s as a base 10 integer.
 
53
  digit-sequence '''ₒₚₜ digit
54
  ```
55
 
56
  ``` bnf
57
  floating-point-suffix: one of
58
+ 'f l f16 f32 f64 f128 bf16 F L F16 F32 F64 F128 BF16'
59
  ```
60
 
61
+ The type of a *floating-point-literal*
62
+ [[basic.fundamental]], [[basic.extended.fp]] is determined by its
63
  *floating-point-suffix* as specified in [[lex.fcon.type]].
64
 
65
+ [*Note 1*: The floating-point suffixes `f16`, `f32`, `f64`, `f128`,
66
+ `bf16`, `F16`, `F32`, `F64`, `F128`, and `BF16` are
67
+ conditionally-supported. See [[basic.extended.fp]]. — *end note*]
68
+
69
  **Table: Types of *floating-point-literal*{s}** <a id="lex.fcon.type">[lex.fcon.type]</a>
70
 
71
  | *floating-point-suffix* | type |
72
+ | ----------------------- | ----------------- |
73
  | none | `double` |
74
  | `f` or `F` | `float` |
75
  | `l` or `L` | `long` `double` |
76
+ | `f16` or `F16` | `std::float16_t` |
77
+ | `f32` or `F32` | `std::float32_t` |
78
+ | `f64` or `F64` | `std::float64_t` |
79
+ | `f128` or `F128` | `std::float128_t` |
80
+ | `bf16` or `BF16` | `std::bfloat16_t` |
81
 
82
 
83
  The *significand* of a *floating-point-literal* is the
84
  *fractional-constant* or *digit-sequence* of a
85
  *decimal-floating-point-literal* or the
 
88
  of *digit*s or *hexadecimal-digit*s and optional period are interpreted
89
  as a base N real number s, where N is 10 for a
90
  *decimal-floating-point-literal* and 16 for a
91
  *hexadecimal-floating-point-literal*.
92
 
93
+ [*Note 2*: Any optional separating single quotes are ignored when
94
  determining the value. — *end note*]
95
 
96
  If an *exponent-part* or *binary-exponent-part* is present, the exponent
97
  e of the *floating-point-literal* is the result of interpreting the
98
  sequence of an optional *sign* and the *digit*s as a base 10 integer.