名前空間
変種
操作

sinh, sinhf, sinhl

提供: cppreference.com
< c‎ | numeric‎ | math
 
 
 
一般的な数学関数
関数
基本操作
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)(C99)(C99)
指数関数
(C99)
(C99)
(C99)
(C99)
冪関数
(C99)
(C99)
三角関数と双曲線関数
sinh
(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       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 が呼ばれます。 引数が複素数の場合、マクロは対応する複素数の関数 (csinhf, csinh, csinhl) を呼びます。

目次

[編集] 引数

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_MIN、 FLT_MIN、 LDBL_MIN より大きくない処理系定義の値が返されると規定しています

[編集]

#include <stdio.h>
#include <math.h>
#include <errno.h>
#include <fenv.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

[編集] 参考文献

  • C11 standard (ISO/IEC 9899:2011):
  • 7.12.5.5 The sinh functions (p: 241-242)
  • 7.25 Type-generic math <tgmath.h> (p: 373-375)
  • F.10.2.5 The sinh functions (p: 520)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.12.5.5 The sinh functions (p: 222)
  • 7.22 Type-generic math <tgmath.h> (p: 335-337)
  • F.9.2.5 The sinh functions (p: 457)
  • C89/C90 standard (ISO/IEC 9899:1990):
  • 4.5.3.2 The sinh function

[編集] 関連項目

(C99)(C99)
双曲線余弦 (ch(x)) を計算します
(関数) [edit]
(C99)(C99)
双曲線正接を計算します
(関数) [edit]
(C99)(C99)(C99)
逆双曲線正弦 (arsinh(x)) を計算します
(関数) [edit]
(C99)(C99)(C99)
複素数双曲線正弦を計算します
(関数) [edit]