Bibliothèque Valarray C ++ - Fonction atan2

La description

Il renvoie un tableau de valeurs contenant la valeur principale de l'arc tangent de tous les éléments, dans le même ordre. La tangente pour laquelle elle est calculée est le quotient des coordonnées y / x, en utilisant leur signe pour déterminer le quadrant approprié.

Déclaration

Voici la déclaration de la fonction std :: atan2.

template<class T> valarray<T> atan2 (const valarray<T>& y, const valarray<T>& x);
template<class T> valarray<T> atan2 (const valarray<T>& y, const T& x);
template<class T> valarray<T> atan2 (const T& y, const valarray<T>& x);

C ++ 11

template<class T> valarray<T> atan2 (const valarray<T>& y, const valarray<T>& x);
template<class T> valarray<T> atan2 (const valarray<T>& y, const T& x);
template<class T> valarray<T> atan2 (const T& y, const valarray<T>& x);

Paramètres

  • x - Il contient des éléments d'un type pour lequel la fonction unaire abs est définie.

  • y - C'est un élément valarray avec la (les) coordonnée (s) y.

Valeur de retour

Il renvoie un tableau de valeurs contenant la valeur principale de l'arc tangent de tous les éléments, dans le même ordre. La tangente pour laquelle elle est calculée est le quotient des coordonnées y / x, en utilisant leur signe pour déterminer le quadrant approprié.

Des exceptions

Basic guarantee - si une opération effectuée sur les éléments lève une exception.

Courses de données

Tous les éléments effectivement copiés sont accessibles.

Exemple

L'exemple ci-dessous explique la fonction std :: atan2.

#include <iostream>    
#include <cstddef>     
#include <cmath>       
#include <valarray>    

int main () {
   double y[] = {0.0, 3.0, -2.0};
   double x[] = {-3.0, 3.0, -1.0};
   std::valarray<double> ycoords (y,3);
   std::valarray<double> xcoords (x,3);

   std::valarray<double> results = atan2 (ycoords,xcoords);

   std::cout << "results:";
   for (std::size_t i=0; i<results.size(); ++i)
      std::cout << ' ' << results[i];
   std::cout << '\n';

   return 0;
}

Compilons et exécutons le programme ci-dessus, cela produira le résultat suivant -

results: 3.14159 0.785398 -2.03444