Cpp-standard-library-cpp-atan2

提供:Dev Guides
移動先:案内検索

C ++ Valarrayライブラリ-atan2関数

説明

すべての要素の逆正接の主要な値を含むvalarrayを同じ順序で返します。 計算される接線は座標y/xの商であり、その符号を使用して適切な象限を決定します。

宣言

以下は、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);

パラメーター

  • x -単項関数absが定義されている型の要素が含まれています。
  • y -y座標を持つvalarray要素です。

戻り値

すべての要素の逆正接の主要な値を含むvalarrayを同じ順序で返します。 計算される接線は座標y/xの商であり、その符号を使用して適切な象限を決定します。

例外

基本保証-要素に対して実行された操作が例外をスローした場合。

データの競合

効果的にコピーされたすべての要素にアクセスします。

以下の例では、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;
}

上記のプログラムをコンパイルして実行すると、次の結果が生成されます-

results: 3.14159 0.785398 -2.03444