名前空間
変種
操作

asin, asinf, asinl

提供: cppreference.com
< c‎ | numeric‎ | math
 
 
 
一般的な数学関数
関数
基本操作
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)(C99)(C99)
指数関数
(C99)
(C99)
(C99)
(C99)
冪関数
(C99)
(C99)
三角関数と双曲線関数
(C99)
(C99)
(C99)
誤差関数とガンマ関数
(C99)
(C99)
(C99)
(C99)
最も近い整数
(C99)(C99)(C99)
(C99)
(C99)(C99)(C99)
浮動小数点操作関数
(C99)(C99)
(C99)
(C99)
分類
(C99)
(C99)
(C99)
(C99)(C99)
マクロ定数
 
ヘッダ <math.h> で定義
float       asinf( float arg );
(1) (C99以上)
double      asin( double arg );
(2)
long double asinl( long double arg );
(3) (C99以上)
ヘッダ <tgmath.h> で定義
#define asin( arg )
(4) (C99以上)
1-3) arg の逆正弦の主値を計算します。
4) 型総称マクロ。 引数が long double の場合は asinl が呼ばれます。 そうでなく、引数が整数型または double 型の場合は asin が呼ばれます。 そうでなければ asinf が呼ばれます。 引数が複素数の場合、マクロは対応する複素数の関数 (casinf, casin, casinl) を呼びます。

目次

[編集] 引数

arg - 浮動小数点値

[編集] 戻り値

エラーが発生しなければ、範囲 [-
π
2
 ; +
π
2
]
内の arg の逆正弦 (arcsin(arg)) が返されます。

定義域エラーが発生した場合、処理系定義の値 (サポートされていれば NaN) が返されます。

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

[編集] エラー処理

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

arg が範囲 [-1.0, 1.0] 外の場合、定義域エラーが発生します。

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

  • 引数が ±0 であれば、それが変更されずに返されます。
  • |arg| > 1 であれば、定義域エラーが発生し、 NaN が返されます。
  • 引数が NaN であれば、 NaN が返されます。

[編集]

#include <math.h>
#include <stdio.h>
#include <errno.h>
#include <fenv.h>
#include <string.h>
 
#pragma STDC FENV_ACCESS ON
int main(void)
{
    printf("asin( 1.0) = %+f, 2*asin( 1.0)=%+f\n", asin(1), 2*asin(1));
    printf("asin(-0.5) = %+f, 6*asin(-0.5)=%+f\n", asin(-0.5), 6*asin(-0.5));
    // special values
    printf("asin(0.0) = %1f, asin(-0.0)=%f\n", asin(+0.0), asin(-0.0));
    // error handling 
    errno = 0; feclearexcept(FE_ALL_EXCEPT);
    printf("asin(1.1) = %f\n", asin(1.1));
    if(errno == EDOM) perror("    errno == EDOM");
    if(fetestexcept(FE_INVALID)) puts("    FE_INVALID raised");
}

出力例:

asin( 1.0) = +1.570796, 2*asin( 1.0)=+3.141593
asin(-0.5) = -0.523599, 6*asin(-0.5)=-3.141593
asin(0.0) = 0.000000, asin(-0.0)=-0.000000
asin(1.1) = nan
    errno == EDOM: Numerical argument out of domain
    FE_INVALID raised

[編集] 参考文献

  • C11 standard (ISO/IEC 9899:2011):
  • 7.12.4.2 The asin functions (p: 238)
  • 7.25 Type-generic math <tgmath.h> (p: 373-375)
  • F.10.1.2 The asin functions (p: 518)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.12.4.2 The asin functions (p: 219)
  • 7.22 Type-generic math <tgmath.h> (p: 335-337)
  • F.9.1.2 The asin functions (p: 456)
  • C89/C90 standard (ISO/IEC 9899:1990):
  • 4.5.2.2 The asin function

[編集] 関連項目

(C99)(C99)
逆余弦 (arccos(x)) を計算します
(関数) [edit]
(C99)(C99)
逆正接 (arctan(x)) を計算します
(関数) [edit]
象限を判断するために符号を使用して逆正接を計算します
(関数) [edit]
(C99)(C99)
正弦 (sin(x)) を計算します
(関数) [edit]
(C99)(C99)(C99)
複素数の逆正弦を計算します
(関数) [edit]