◐ Shell
clean mode source ↗

std::atan, std::atanf, std::atanl - cppreference.com

提供: cppreference.com

<tbody> </tbody> <tbody class="t-dcl-rev t-dcl-rev-num "> </tbody><tbody> </tbody> <tbody class="t-dcl-rev t-dcl-rev-num "> </tbody><tbody> </tbody>

ヘッダ <cmath> で定義

(1)

float atan ( float arg );

float atanf( float arg );

(C++11以上)

double atan ( double arg );

(2)
(3)

long double atan ( long double arg );

long double atanl( long double arg );

(C++11以上)

double atan ( 整数型 arg );

(4) (C++11以上)

1-3) arg の逆正接の主値を計算します。

4) 任意の整数型の引数を受け取るオーバーロード集合または関数テンプレート。 2) と同等です (引数は double にキャストされます)。

引数

戻り値

エラーが発生しなければ、範囲

[- , +]

ラジアン内の arg の逆正接 (arctan(arg)) が返されます。

アンダーフローによる値域エラーが発生した場合、 (丸めの後の) 正しい結果が返されます。

エラー処理

math_errhandling で定義されている通りにエラーが報告されます。

処理系が IEEE 浮動小数点算術 (IEC 60559) をサポートしている場合、

  • 引数が ±0 であれば、それが変更されずに返されます。
  • 引数が +∞ であれば、 +π/2 が返されます。
  • 引数が -∞ であれば、 -π/2 が返されます。
  • 引数が NaN であれば、 NaN が返されます。

ノート

POSIX は、アンダーフローの場合、 arg は変更されずに返され、それがサポートされていない場合、 DBL_MIN、 FLT_MIN、 LDBL_MIN より大きくない処理系定義の値が返されると規定しています

#include <iostream>
#include <cmath>

int main()
{
    std::cout << "atan(1) = " << atan(1) << " 4*atan(1) = " << 4*atan(1) << '\n';
    // 特殊な値
    std::cout << "atan(Inf) = " << atan(INFINITY)
              << " 2*atan(Inf) = " << 2*atan(INFINITY) << '\n'
              << "atan(-0.0) = " << atan(-0.0) << '\n'
              << "atan(+0.0) = " << atan(0) << '\n';
}

出力:

atan(1) = 0.785398 4*atan(1) = 3.14159
atan(Inf) = 1.5708 2*atan(Inf) = 3.14159
atan(-0.0) = -0
atan(+0.0) = 0

関連項目

(C++11)(C++11)

逆正弦 (arcsin(x)) を計算します
(関数) [edit]

(C++11)(C++11)

逆余弦 (arccos(x)) を計算します
(関数) [edit]

(C++11)(C++11)

象限を判断するために符号を使用して逆正接を計算します
(関数) [edit]

(C++11)(C++11)

正接 (tan(x)) を計算します
(関数) [edit]
複素数の逆正接 (arctan(z)) を計算します
(関数テンプレート) [edit]
valarray の各要素に関数 std::atan を適用します
(関数テンプレート) [edit]