std::exp(std::valarray)
Min standard notice:
Header: <valarray>
For each element in va computes e raised to the power equal to the value of the element.
# Declarations
template< class T >
valarray<T> exp( const valarray<T>& va );
# Parameters
va: value array to apply the operation to
# Return value
Value array containing e raised by the values in va.
# Notes
Unqualified function (exp) is used to perform the computation. If such function is not available, std::exp is used due to argument-dependent lookup.
The function can be implemented with the return type different from std::valarray. In this case, the replacement type has the following properties:
# Example
#include <complex>
#include <iostream>
#include <numbers>
#include <valarray>
int main()
{
const double 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';
}