tmp/tmpjuz8e_9_/{from.md → to.md}
RENAMED
|
@@ -6,26 +6,28 @@ The following function templates shall have additional overloads:
|
|
| 6 |
arg norm
|
| 7 |
conj proj
|
| 8 |
imag real
|
| 9 |
```
|
| 10 |
|
|
|
|
|
|
|
| 11 |
The additional overloads shall be sufficient to ensure:
|
| 12 |
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
cast to `complex<float>`.
|
| 19 |
|
| 20 |
Function template `pow` shall have additional overloads sufficient to
|
| 21 |
ensure, for a call with at least one argument of type `complex<T>`:
|
| 22 |
|
| 23 |
-
|
| 24 |
double`, then both arguments are effectively cast to
|
| 25 |
`complex<long double>`.
|
| 26 |
-
|
| 27 |
-
|
| 28 |
`complex<double>`.
|
| 29 |
-
|
| 30 |
then both arguments are effectively cast to `complex<float>`.
|
| 31 |
|
|
|
|
| 6 |
arg norm
|
| 7 |
conj proj
|
| 8 |
imag real
|
| 9 |
```
|
| 10 |
|
| 11 |
+
where `norm`, `conj`, `imag`, and `real` are `constexpr` overloads.
|
| 12 |
+
|
| 13 |
The additional overloads shall be sufficient to ensure:
|
| 14 |
|
| 15 |
+
- If the argument has type `long double`, then it is effectively cast to
|
| 16 |
+
`complex<long double>`.
|
| 17 |
+
- Otherwise, if the argument has type `double` or an integer type, then
|
| 18 |
+
it is effectively cast to `complex<{}double>`.
|
| 19 |
+
- Otherwise, if the argument has type `float`, then it is effectively
|
| 20 |
cast to `complex<float>`.
|
| 21 |
|
| 22 |
Function template `pow` shall have additional overloads sufficient to
|
| 23 |
ensure, for a call with at least one argument of type `complex<T>`:
|
| 24 |
|
| 25 |
+
- If either argument has type `complex<long double>` or type `long
|
| 26 |
double`, then both arguments are effectively cast to
|
| 27 |
`complex<long double>`.
|
| 28 |
+
- Otherwise, if either argument has type `complex<double>`, `double`, or
|
| 29 |
+
an integer type, then both arguments are effectively cast to
|
| 30 |
`complex<double>`.
|
| 31 |
+
- Otherwise, if either argument has type `complex<float>` or `float`,
|
| 32 |
then both arguments are effectively cast to `complex<float>`.
|
| 33 |
|