Biblioteca C ++ Valarray - Función atan2
Descripción
Devuelve un valarray que contiene el valor principal del arco tangente de todos los elementos, en el mismo orden. La tangente para la que se calcula es el cociente de coordenadas y / x, usando su signo para determinar el cuadrante apropiado.
Declaración
A continuación se muestra la declaración de la función 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);
Parámetros
x - Contiene elementos de un tipo para el que se define la función unaria abs.
y - Es un elemento valarray con la (s) coordenada (s) y.
Valor devuelto
Devuelve un valarray que contiene el valor principal del arco tangente de todos los elementos, en el mismo orden. La tangente para la que se calcula es el cociente de coordenadas y / x, usando su signo para determinar el cuadrante apropiado.
Excepciones
Basic guarantee - si alguna operación realizada en los elementos arroja una excepción.
Carreras de datos
Se accede a todos los elementos efectivamente copiados.
Ejemplo
En el siguiente ejemplo se explica la función 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;
}
Compilemos y ejecutemos el programa anterior, esto producirá el siguiente resultado:
results: 3.14159 0.785398 -2.03444