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 | |||||||||||||||||||||||||||||||
|
Defined in header <valarray> | ||
template<class T> valarray<T> exp(const valarray<T>& va); | ||
For each element inva computese raised to the power equal to the value of the element.
Contents |
va | - | value array to apply the operation to |
Value array containinge raised by the values inva.
Unqualified function (exp) is used to perform the computation. If such function is not available,std::exp is used due toargument-dependent lookup.
The function can be implemented with the return type different fromstd::valarray. In this case, the replacement type has the following properties:
template<class T>valarray<T> exp(const valarray<T>& va){ valarray<T> other= va;for(T& i: other) i= exp(i); return other;// proxy object may be returned} |
This example demonstrates theEuler's identityeiπ
= -1 and the related exponents.
#include <complex>#include <iostream>#include <numbers>#include <valarray> int main(){constdouble pi=std::numbers::pi;std::valarray<std::complex<double>> v={{0,0},{0, pi/2},{0, pi},{0,3* pi/2},{0,2* pi}};std::valarray<std::complex<double>> v2=std::exp(v);for(std::cout<<std::showpos<<std::fixed;auto n: v2)std::cout<< n<<'\n';}
Output:
(+1.000000,+0.000000)(+0.000000,+1.000000)(-1.000000,+0.000000)(-0.000000,-1.000000)(+1.000000,-0.000000)
applies the functionstd::log to each element of valarray (function template)[edit] | |
(C++11)(C++11) | returnse raised to the given power (\({\small e^x}\)ex) (function)[edit] |
complex basee exponential (function template)[edit] |