
- The C Standard Library
- The C Standard Library
- The C++ Standard Library
- C++ Library - Home
- C++ Library - <fstream>
- C++ Library - <iomanip>
- C++ Library - <ios>
- C++ Library - <iosfwd>
- C++ Library - <iostream>
- C++ Library - <istream>
- C++ Library - <ostream>
- C++ Library - <sstream>
- C++ Library - <streambuf>
- C++ Library - <atomic>
- C++ Library - <complex>
- C++ Library - <exception>
- C++ Library - <functional>
- C++ Library - <limits>
- C++ Library - <locale>
- C++ Library - <memory>
- C++ Library - <new>
- C++ Library - <numeric>
- C++ Library - <regex>
- C++ Library - <stdexcept>
- C++ Library - <string>
- C++ Library - <thread>
- C++ Library - <tuple>
- C++ Library - <typeinfo>
- C++ Library - <utility>
- C++ Library - <valarray>
- The C++ STL Library
- C++ Library - <array>
- C++ Library - <bitset>
- C++ Library - <deque>
- C++ Library - <forward_list>
- C++ Library - <list>
- C++ Library - <map>
- C++ Library - <queue>
- C++ Library - <set>
- C++ Library - <stack>
- C++ Library - <unordered_map>
- C++ Library - <unordered_set>
- C++ Library - <vector>
- C++ Library - <algorithm>
- C++ Library - <iterator>
- C++ Programming Resources
- C++ Programming Tutorial
- C++ Useful Resources
- C++ Discussion
C++ Valarray Library - atan2 Function
Description
It 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.
Declaration
Following is the declaration for std::atan2 function.
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);
Parameters
x − It is containing elements of a type for which the unary function abs is defined.
y − It is a valarray element with the y coordinate(s).
Return Value
It 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.
Exceptions
Basic guarantee − if any operation performed on the elements throws an exception.
Data races
All elements effectively copied are accessed.
Example
In below example explains about std::atan2 function.
#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; }
Let us compile and run the above program, this will produce the following result −
results: 3.14159 0.785398 -2.03444