Namespaces
Variants

std:: exp (std::valarray)

From cppreference.net
Défini dans l'en-tête <valarray>
template < class T >
valarray < T > exp ( const valarray < T > & va ) ;

Pour chaque élément dans va calcule e élevé à la puissance égale à la valeur de l'élément.

Table des matières

Paramètres

va - tableau de valeurs sur lequel appliquer l'opération

Valeur de retour

Tableau de valeurs contenant e élevé aux valeurs dans va .

Notes

La fonction non qualifiée ( exp ) est utilisée pour effectuer le calcul. Si une telle fonction n'est pas disponible, std:: exp est utilisée en raison de la recherche dépendante des arguments .

La fonction peut être implémentée avec un type de retour différent de std::valarray . Dans ce cas, le type de remplacement possède les propriétés suivantes :

Implémentation possible

template<class T>
valarray<T> exp(const valarray<T>& va)
{
    valarray<T> other = va;
    for (T& i : other)
        i = exp(i);
    return other; // un objet proxy peut être retourné
}

Exemple

Cet exemple démontre l' identité d'Euler e
= -1
et les exposants associés.

#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';
}

Sortie :

(+1.000000,+0.000000)
(+0.000000,+1.000000)
(-1.000000,+0.000000)
(-0.000000,-1.000000)
(+1.000000,-0.000000)

Voir aussi

applique la fonction std::log à chaque élément du valarray
(modèle de fonction)
(C++11) (C++11)
retourne e élevé à la puissance donnée ( e x )
(fonction)
exponentielle complexe de base e
(modèle de fonction)