From Jason Turner

[conv.rank]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmp39hq6im_/{from.md → to.md} +10 -2
tmp/tmp39hq6im_/{from.md → to.md} RENAMED
@@ -33,11 +33,11 @@ integral promotions [[conv.prom]] and the usual arithmetic conversions
33
  [[expr.arith.conv]]. — *end note*]
34
 
35
  Every floating-point type has a *floating-point conversion rank* defined
36
  as follows:
37
 
38
- - The rank of a floating point type `T` is greater than the rank of any
39
  floating-point type whose set of values is a proper subset of the set
40
  of values of `T`.
41
  - The rank of `long double` is greater than the rank of `double`, which
42
  is greater than the rank of `float`.
43
  - Two extended floating-point types with the same set of values have
@@ -45,11 +45,19 @@ as follows:
45
  - An extended floating-point type with the same set of values as exactly
46
  one cv-unqualified standard floating-point type has a rank equal to
47
  the rank of that standard floating-point type.
48
  - An extended floating-point type with the same set of values as more
49
  than one cv-unqualified standard floating-point type has a rank equal
50
- to the rank of `double`.
 
 
 
 
 
 
 
 
51
 
52
  [*Note 2*: The conversion ranks of floating-point types `T1` and `T2`
53
  are unordered if the set of values of `T1` is neither a subset nor a
54
  superset of the set of values of `T2`. This can happen when one type has
55
  both a larger range and a lower precision than the other. — *end note*]
 
33
  [[expr.arith.conv]]. — *end note*]
34
 
35
  Every floating-point type has a *floating-point conversion rank* defined
36
  as follows:
37
 
38
+ - The rank of a floating-point type `T` is greater than the rank of any
39
  floating-point type whose set of values is a proper subset of the set
40
  of values of `T`.
41
  - The rank of `long double` is greater than the rank of `double`, which
42
  is greater than the rank of `float`.
43
  - Two extended floating-point types with the same set of values have
 
45
  - An extended floating-point type with the same set of values as exactly
46
  one cv-unqualified standard floating-point type has a rank equal to
47
  the rank of that standard floating-point type.
48
  - An extended floating-point type with the same set of values as more
49
  than one cv-unqualified standard floating-point type has a rank equal
50
+ to the rank of `double`.\begin{tailnote}
51
+ The treatment of \texttt{std::float64_t} differs from
52
+ that of the analogous \texttt{\_Float64} in C,
53
+ for example on platforms where all of
54
+ \texttt{\texttt{long} \texttt{double}},
55
+ \texttt{double}, and
56
+ \texttt{std::float64_t}
57
+ have the same set of values (see ISO/IEC 9899:2018 (C)H.4.3).
58
+ \end{tailnote}
59
 
60
  [*Note 2*: The conversion ranks of floating-point types `T1` and `T2`
61
  are unordered if the set of values of `T1` is neither a subset nor a
62
  superset of the set of values of `T2`. This can happen when one type has
63
  both a larger range and a lower precision than the other. — *end note*]