function template
<valarray>

# 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);```
Compute atan2 of valarray elements
Returns a valarray containing the principal value of the arc tangent of all the elements, in the same order. The tangent for which it is calculated is the quotient of coordinates `y/x`, using their sign to determine the appropriate quadrant.

The function calls atan2 (unqualified) once for each element in both x and y; If either is a single T value, it is used for all calls.

### Parameters

y
valarray or element with the y coordinate(s).
x
valarray or element with the x coordinate(s).
If both arguments are valarray objects and their sizes don't match, the behavior is undefined.

### Return value

A valarray object with the arc tangent values of `y/x`.

### Example

 ``12345678910111213141516171819202122`` ``````// atan2 valarray example #include // std::cout #include // std::size_t #include // std::atan2 #include // std::valarray, std::atan2 int main () { double y[] = {0.0, 3.0, -2.0}; double x[] = {-3.0, 3.0, -1.0}; std::valarray ycoords (y,3); std::valarray xcoords (x,3); std::valarray results = atan2 (ycoords,xcoords); std::cout << "results:"; for (std::size_t i=0; i

Output:
 ``` results: 3.14159 0.785398 -2.03444 ```