GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • TUTORIALS
  • REFERENCE
  • ARTICLES
  • FORUM
  • C library:
  • <cassert> (assert.h)
  • <cctype> (ctype.h)
  • <cerrno> (errno.h)
  • <cfenv> (fenv.h)
  • <cfloat> (float.h)
  • <cinttypes> (inttypes.h)
  • <ciso646> (iso646.h)
  • <climits> (limits.h)
  • <clocale> (locale.h)

This view

  • Original page
  • New address

GeezerVison is showing cplusplus.com — std::atan2

  • TUTORIALS
  • REFERENCE
  • ARTICLES
  • FORUM

C++

  • Tutorials
  • Reference
  • Articles
  • Forum

Reference

  • C library:

    • <cassert> (assert.h)
    • <cctype> (ctype.h)
    • <cerrno> (errno.h)
    • C++11
      <cfenv> (fenv.h)
    • <cfloat> (float.h)
    • C++11
      <cinttypes> (inttypes.h)
    • <ciso646> (iso646.h)
    • <climits> (limits.h)
    • <clocale> (locale.h)
    • <cmath> (math.h)
    • <csetjmp> (setjmp.h)
    • <csignal> (signal.h)
    • <cstdarg> (stdarg.h)
    • C++11
      <cstdbool> (stdbool.h)
    • <cstddef> (stddef.h)
    • C++11
      <cstdint> (stdint.h)
    • <cstdio> (stdio.h)
    • <cstdlib> (stdlib.h)
    • <cstring> (string.h)
    • C++11
      <ctgmath> (tgmath.h)
    • <ctime> (time.h)
    • C++11
      <cuchar> (uchar.h)
    • <cwchar> (wchar.h)
    • <cwctype> (wctype.h)
  • Containers:

    • C++11
      <array>
    • <deque>
    • C++11
      <forward_list>
    • <list>
    • <map>
    • <queue>
    • <set>
    • <stack>
    • C++11
      <unordered_map>
    • C++11
      <unordered_set>
    • <vector>
  • Input/Output:

    • <fstream>
    • <iomanip>
    • <ios>
    • <iosfwd>
    • <iostream>
    • <istream>
    • <ostream>
    • <sstream>
    • <streambuf>
  • Multi-threading:

    • C++11
      <atomic>
    • C++11
      <condition_variable>
    • C++11
      <future>
    • C++11
      <mutex>
    • C++11
      <thread>
  • Other:

    • <algorithm>
    • <bitset>
    • C++11
      <chrono>
    • C++11
      <codecvt>
    • <complex>
    • <exception>
    • <functional>
    • C++11
      <initializer_list>
    • <iterator>
    • <limits>
    • <locale>
    • <memory>
    • <new>
    • <numeric>
    • C++11
      <random>
    • C++11
      <ratio>
    • C++11
      <regex>
    • <stdexcept>
    • <string>
    • C++11
      <system_error>
    • C++11
      <tuple>
    • C++11
      <type_traits>
    • C++11
      <typeindex>
    • <typeinfo>
    • <utility>
    • <valarray>

<valarray>

  • classes

    • gslice
    • gslice_array
    • indirect_array
    • mask_array
    • slice
    • slice_array
    • valarray
  • functions

    • abs
    • acos
    • asin
    • atan
    • atan2
    • cos
    • cosh
    • exp
    • log
    • log10
    • pow
    • sin
    • sinh
    • sqrt
    • tan
    • tanh
  • Reference
  • <valarray>
  • atan2
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)
Home page | Privacy policy
© cplusplus.com, 2000-2026 - All rights reserved - v3.3.4s
Spotted an error? contact us
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.