| Common mathematical functions | |||||||||||||||||||||||||||||||
| Mathematical special functions(C++17) | |||||||||||||||||||||||||||||||
| Mathematical constants(C++20) | |||||||||||||||||||||||||||||||
| Basic linear algebra algorithms(C++26) | |||||||||||||||||||||||||||||||
| Data-parallel types (SIMD)(C++26) | |||||||||||||||||||||||||||||||
| Floating-point environment(C++11) | |||||||||||||||||||||||||||||||
| Complex numbers | |||||||||||||||||||||||||||||||
Numeric array (valarray) | |||||||||||||||||||||||||||||||
| Pseudo-random number generation | |||||||||||||||||||||||||||||||
| Bit manipulation(C++20) | |||||||||||||||||||||||||||||||
| Saturation arithmetic(C++26) | |||||||||||||||||||||||||||||||
| Factor operations | |||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||
| Interpolations | |||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||
| Generic numeric operations | |||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||
| C-style checked integer arithmetic | |||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||
| Member functions | ||||||
| ||||||
| Non-member functions | ||||||
| Exponential functions | ||||||
| Power functions | ||||||
| Trigonometric functions | ||||||
| Hyperbolic functions | ||||||
| Helper types | ||||||
(C++26) | ||||||
(C++26) | ||||||
Primary template complex<T> | ||
| (1) | ||
complex& operator+=(const T& other); | (until C++20) | |
constexpr complex& operator+=(const T& other); | (since C++20) | |
| (2) | ||
complex& operator-=(const T& other); | (until C++20) | |
constexpr complex& operator-=(const T& other); | (since C++20) | |
| (3) | ||
complex& operator*=(const T& other); | (until C++20) | |
constexpr complex& operator*=(const T& other); | (since C++20) | |
| (4) | ||
complex& operator/=(const T& other); | (until C++20) | |
constexpr complex& operator/=(const T& other); | (since C++20) | |
Specialization complex<float> | ||
| (1) | ||
complex& operator+=(float other); | (until C++20) | |
constexpr complex& operator+=(float other); | (since C++20) | |
| (2) | ||
complex& operator-=(float other); | (until C++20) | |
constexpr complex& operator-=(float other); | (since C++20) | |
| (3) | ||
complex& operator*=(float other); | (until C++20) | |
constexpr complex& operator*=(float other); | (since C++20) | |
| (4) | ||
complex& operator/=(float other); | (until C++20) | |
constexpr complex& operator/=(float other); | (since C++20) | |
Specialization complex<double> | ||
| (1) | ||
complex& operator+=(double other); | (until C++20) | |
constexpr complex& operator+=(double other); | (since C++20) | |
| (2) | ||
complex& operator-=(double other); | (until C++20) | |
constexpr complex& operator-=(double other); | (since C++20) | |
| (3) | ||
complex& operator*=(double other); | (until C++20) | |
constexpr complex& operator*=(double other); | (since C++20) | |
| (4) | ||
complex& operator/=(double other); | (until C++20) | |
constexpr complex& operator/=(double other); | (since C++20) | |
Specialization complex<long double> | ||
| (1) | ||
complex& operator+=(longdouble other); | (until C++20) | |
constexpr complex& operator+=(longdouble other); | (since C++20) | |
| (2) | ||
complex& operator-=(longdouble other); | (until C++20) | |
constexpr complex& operator-=(longdouble other); | (since C++20) | |
| (3) | ||
complex& operator*=(longdouble other); | (until C++20) | |
constexpr complex& operator*=(longdouble other); | (since C++20) | |
| (4) | ||
complex& operator/=(longdouble other); | (until C++20) | |
constexpr complex& operator/=(longdouble other); | (since C++20) | |
All specializations | ||
| (5) | ||
template<class X> complex& operator+=(conststd::complex<X>& other); | (until C++20) | |
template<class X> constexpr complex& operator+=(conststd::complex<X>& other); | (since C++20) | |
| (6) | ||
template<class X> complex& operator-=(conststd::complex<X>& other); | (until C++20) | |
template<class X> constexpr complex& operator-=(conststd::complex<X>& other); | (since C++20) | |
| (7) | ||
template<class X> complex& operator*=(conststd::complex<X>& other); | (until C++20) | |
template<class X> constexpr complex& operator*=(conststd::complex<X>& other); | (since C++20) | |
| (8) | ||
template<class X> complex& operator/=(conststd::complex<X>& other); | (until C++20) | |
template<class X> constexpr complex& operator/=(conststd::complex<X>& other); | (since C++20) | |
Implements the compound assignment operators for complex arithmetic and for mixed complex/scalar arithmetic. Scalar arguments are treated as complex numbers with the real part equal to the argument and the imaginary part set to zero.
other to*this.other from*this.other.other.| other | - | a complex or scalar value of matching type (float,double,longdouble) |
*this
| applies unary operators to complex numbers (function template)[edit] | |
| performs complex number arithmetic on two complex values or a complex and a scalar (function template)[edit] |