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.

This function overloads cmath's atan2.

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// atan2 valarray example
#include <iostream> // std::cout
#include <cstddef> // std::size_t
#include <cmath> // std::atan2
#include <valarray> // std::valarray, std::atan2
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;
}

Output:

results: 3.14159 0.785398 -2.03444


See also

atan2 (cmath)
Compute arc tangent with two parameters (function)
atan
Compute arc tangent of valarray elements (function template)
tan
Compute tangent of valarray elements (function template)

AltStyle によって変換されたページ (->オリジナル) /