Partager via


atan2 (<valarray>)

Retourne un valarray dont les éléments sont égaux à l'arctangente des composants cartésiens spécifiés par une combinaison des constantes et des éléments de valarrays.

template<class Type>
   valarray<Type> atan2(
      const valarray<Type>& _Left,
      const valarray<Type>& _Right
   );
template<class Type>
   valarray<Type> atan2(
      const valarray<Type> _Left, 
      const Type& _Right
   );
template<class Type>
   valarray<Type> atan2(
      const Type& _Left, 
      const valarray<Type>& _Right
   );

Paramètres

  • _Left
    Le valarray numérique constante de type de données ou d'entrée dont les éléments fournissent des valeurs pour la coordonnée y de l'argument d'arctangente.

  • _Right
    Le valarray numérique constante de type de données ou d'entrée dont les éléments fournissent des valeurs pour la coordonnée x de l'argument d'arctangente.

Valeur de retour

Un valarray du dont les éléments I être égal à l'arctangente :

  • _Left [] d'I / _Right I [] pour la première fonction de modèle.

  • _Left [] d'I / _Right pour la deuxième fonction de modèle.

  • _Left / _Right I [] pour la troisième fonction de modèle.

Notes

Les unités des éléments retournés sont en radians.

Cette fonction conserve des informations sur les signes des composants dans l'argument qui est détruit par la fonction standard de tangente, et cette connaissance du quart circle permet à la valeur de retour d'être assigné un seul angle entre +pi pi et ).

Si _Left et _Right ont un nombre différent d'éléments, le résultat n'est pas défini.

Exemple

// valarray_atan2.cpp
// compile with: /EHsc
#include <valarray>
#include <iostream>
#include <iomanip>

int main( )
{
   using namespace std;
   double pi = 3.14159265359;
   int i;

   valarray<double> va1y ( 1 , 4 ), va1x ( 1 , 4 );
   va1x [ 1 ] = -1;
   va1x [ 2 ] = -1;
   va1y [ 2 ] = -1;
   va1y [ 3 ] = -1;
   valarray<double> va2 ( 4 );

   cout << "The initial valarray for the x coordinate is: ( ";
   for ( i = 0 ; i < 4 ; i++ )
      cout << va1x [ i ] << " ";
   cout << ")." << endl;

   cout << "The initial valarray for the y coordinate is: ( ";
   for ( i = 0 ; i < 4 ; i++ )
      cout << va1y [ i ] << " ";
   cout << ")." << endl;

   va2 = atan2 ( va1y , va1x );
   cout << "The atan2 ( y / x ) of the initial valarrays is:\n";
   for ( i = 0 ; i < 4 ; i++ )
      cout << setw( 10 ) << va2 [ i ]
           << "  radians, which is  "
           << setw( 11 ) << ( 180/pi ) * va2 [ i ]
           << "degrees" << endl;
   cout << endl;
}
  
  
  

Configuration requise

en-tête : <valarray>

l'espace de noms : DST