Init
This commit is contained in:
44
cppdraft/cmplx/over.md
Normal file
44
cppdraft/cmplx/over.md
Normal file
@@ -0,0 +1,44 @@
|
||||
[cmplx.over]
|
||||
|
||||
# 29 Numerics library [[numerics]](./#numerics)
|
||||
|
||||
## 29.4 Complex numbers [[complex.numbers]](complex.numbers#cmplx.over)
|
||||
|
||||
### 29.4.10 Additional overloads [cmplx.over]
|
||||
|
||||
[1](#1)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L1173)
|
||||
|
||||
The following function templates have additional constexpr overloads:arg norm
|
||||
conj proj
|
||||
imag real
|
||||
|
||||
[2](#2)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L1186)
|
||||
|
||||
The additional constexpr overloads are sufficient to ensure:
|
||||
|
||||
- [(2.1)](#2.1)
|
||||
|
||||
If the argument has a floating-point type T,
|
||||
then it is effectively cast to complex<T>[.](#2.1.sentence-1)
|
||||
|
||||
- [(2.2)](#2.2)
|
||||
|
||||
Otherwise, if the argument has integer type,
|
||||
then it is effectively cast to complex<double>[.](#2.2.sentence-1)
|
||||
|
||||
[3](#3)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L1198)
|
||||
|
||||
Function template pow has additional constexpr overloads sufficient to ensure,
|
||||
for a call with one argument of type complex<T1> and
|
||||
the other argument of type T2 or complex<T2>,
|
||||
both arguments are effectively cast to complex<common_type_t<T1, T3>>,
|
||||
where T3 isdouble if T2 is an integer type and T2 otherwise[.](#3.sentence-1)
|
||||
|
||||
If common_type_t<T1, T3> is not well-formed,
|
||||
then the program is ill-formed[.](#3.sentence-2)
|
||||
Reference in New Issue
Block a user