名前空間
変種
操作

sinh, sinhf, sinhl

From cppreference.com
< c‎ | numeric‎ | math
 
 
 
共通の数学関数
関数
基本的な数学関数
(C99)
(C99)
(C99)
(C99)(C99)(C99)(C23)
最大/最小演算
(C99)
(C99)
指数関数
(C23)
(C99)
(C99)
(C23)
(C23)

(C99)
(C99)(C23)
(C23)
(C23)
べき乗関数
(C99)
(C23)
(C23)

(C99)
(C23)
(C23)
三角関数と双曲線関数
(C23)
(C23)
(C23)
(C23)
sinh
(C99)
(C99)
(C99)
最も近い整数浮動小数点数
(C99)(C99)(C99)
(C99)

(C99)(C99)(C99)
(C23)(C23)(C23)(C23)
浮動小数点操作
(C99)(C99)
(C99)(C23)
(C99)
縮小演算
(C23)
(C23)
(C23)
(C23)
(C23)
(C23)
量子および量子指数
Decimal再エンコーディング関数
総順序およびペイロード関数
分類
(C99)
(C99)
(C99)
(C23)
誤差関数とガンマ関数
(C99)
(C99)
(C99)
(C99)
マクロ定数
特殊な浮動小数点値
(C99)(C23)
引数と戻り値
エラーハンドリング
高速演算インジケータ
 
ヘッダー <math.h> で定義
float       sinhf( float arg );
(1) (C99以降)
double      sinh( double arg );
(2)
long double sinhl( long double arg );
(3) (C99以降)
ヘッダー <tgmath.h> で定義
#define sinh( arg )
(4) (C99以降)
1-3) arg の双曲線正弦を計算します。
4) 型汎用マクロ: 引数が long double 型の場合、sinhl が呼び出されます。それ以外の場合、引数が整数型または double 型の場合、sinh が呼び出されます。それ以外の場合は、sinhf が呼び出されます。引数が複素数の場合、マクロは対応する複素数関数 (csinhfcsinhcsinhl) を呼び出します。

目次

[編集] パラメータ

arg - 双曲線角度を表す浮動小数点数

[編集] 戻り値

エラーが発生しない場合、arg の双曲線正弦 (sinh(arg)、または
earg
-e-arg
2
) が返されます。

オーバーフローによる範囲エラーが発生した場合、±HUGE_VAL±HUGE_VALF、または ±HUGE_VALL が返されます。

アンダーフローによる範囲エラーが発生した場合、正確な結果 (丸め後) が返される。

[編集] エラー処理

エラーは math_errhandling で指定されたとおりに報告されます。

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

  • 引数が ±0 または ±∞ の場合、変更されずに返されます。
  • 引数が NaN の場合、NaN が返されます。

[編集] 注意

POSIX では、アンダーフローの場合、arg が変更されずに返され、それがサポートされない場合は、実装定義の値で DBL_MINFLT_MIN、および LDBL_MIN 以下の値が返されることが指定されています。

[編集]

#include <errno.h>
#include <fenv.h>
#include <math.h>
#include <stdio.h>
// #pragma STDC FENV_ACCESS ON
 
int main(void)
{
    printf("sinh(1) = %f\nsinh(-1)=%f\n", sinh(1), sinh(-1));
    printf("log(sinh(1) + cosh(1))=%f\n", log(sinh(1) + cosh(1)));
 
    // special values
    printf("sinh(+0) = %f\nsinh(-0)=%f\n", sinh(0.0), sinh(-0.0));
 
    // error handling
    errno = 0; feclearexcept(FE_ALL_EXCEPT);
    printf("sinh(710.5) = %f\n", sinh(710.5));
    if (errno == ERANGE)
        perror("    errno == ERANGE");
    if (fetestexcept(FE_OVERFLOW))
        puts("    FE_OVERFLOW raised");
}

実行結果の例

sinh(1) = 1.175201
sinh(-1)=-1.175201
log(sinh(1) + cosh(1))=1.000000
sinh(+0) = 0.000000
sinh(-0)=-0.000000
sinh(710.5) = inf
    errno == ERANGE: Numerical result out of range
    FE_OVERFLOW raised

[編集] 参考文献

  • C23標準 (ISO/IEC 9899:2024)
  • 7.12.5.5 The sinh functions (p: TBD)
  • 7.25 Type-generic math <tgmath.h> (p: TBD)
  • F.10.2.5 The sinh functions (p: TBD)
  • C17標準 (ISO/IEC 9899:2018)
  • 7.12.5.5 The sinh functions (p: 176)
  • 7.25 型総称数学関数 <tgmath.h> (p: 272-273)
  • F.10.2.5 The sinh functions (p: 379)
  • C11標準 (ISO/IEC 9899:2011)
  • 7.12.5.5 The sinh functions (p: 241-242)
  • 7.25 型総称数学関数 <tgmath.h> (p: 373-375)
  • F.10.2.5 The sinh functions (p: 520)
  • C99標準 (ISO/IEC 9899:1999)
  • 7.12.5.5 The sinh functions (p: 222)
  • 7.22 型総称数学関数 <tgmath.h> (p: 335-337)
  • F.9.2.5 The sinh functions (p: 457)
  • C89/C90標準 (ISO/IEC 9899:1990)
  • 4.5.3.2 The sinh function

[編集] 関連項目

(C99)(C99)
双曲線コサインを計算する (cosh(x))
(関数) [編集]
(C99)(C99)
双曲線タンジェントを計算する (tanh(x))
(関数) [編集]
(C99)(C99)(C99)
逆双曲線サインを計算する (arsinh(x))
(関数) [編集]
(C99)(C99)(C99)
複素双曲線サインを計算する
(関数) [編集]
English 日本語 中文(简体) 中文(繁體)