?
This document uses PHP Chinese website manual Release
在頭文件<math.h>中定義 | ||
---|---|---|
float complex casinhf( float complex z ); | (1) | (since C99) |
double complex casinh( double complex z ); | (2) | (since C99) |
long double complex casinhl( long double complex z ); | (3) | (since C99) |
Defined in header <tgmath.h> | ||
#define asinh( z ) | (4) | (since C99) |
1-3)計(jì)算z
間隔-i以外的分支切割的復(fù)數(shù)圓弧雙曲正弦; + i沿著虛軸。
4)類(lèi)型 - 通用宏:如果z
有類(lèi)型long
double
complex
,casinhl
被調(diào)用。如果z
有類(lèi)型double
complex
,casinh
稱(chēng)為,如果z
有類(lèi)型float
complex
,casinhf
稱(chēng)為。如果z
是真實(shí)的或整數(shù),則宏調(diào)用相應(yīng)的實(shí)函數(shù)(asinhf
,asinh
,asinhl
)。如果z
是虛構(gòu)的,那么宏調(diào)用函數(shù)的相應(yīng)實(shí)際版本asin
,實(shí)現(xiàn)公式asinh(iy)= i asin(y),并且返回類(lèi)型是虛數(shù)。
z | - | 復(fù)雜的論點(diǎn) |
---|
如果沒(méi)有出現(xiàn)錯(cuò)誤,z
則返回復(fù)數(shù)雙曲正弦曲線,位于實(shí)數(shù)軸無(wú)數(shù)學(xué)條帶和-iπ/ 2區(qū)間范圍內(nèi); +iπ/ 2沿著虛軸。
報(bào)告的錯(cuò)誤與math_errhandling一致。
如果實(shí)現(xiàn)支持IEEE浮點(diǎn)運(yùn)算,
casinh(conj(z))
==
conj(casinh(z))
casinh(-z) == -casinh(z)
如果z
是+0+0i
,結(jié)果是+0+0i
如果z
是x+∞i
(對(duì)于任何正的有限x),結(jié)果是+∞+π/2
如果z
是x+NaNi
(對(duì)于任何有限的x),結(jié)果是NaN+NaNi
并FE_INVALID
可能會(huì)提出
如果z
是+∞+yi
(對(duì)于任何有限的y),結(jié)果是+∞+0i
如果z
是+∞+∞i
,結(jié)果是+∞+iπ/4
如果z
是+∞+NaNi
,結(jié)果是+∞+NaNi
如果z
是NaN+0i
,結(jié)果是NaN+0i
如果z
是NaN+yi
(對(duì)于任何有限的非零y),結(jié)果是NaN+NaNi
并FE_INVALID
可能會(huì)提出
如果z
是NaN+∞i
,結(jié)果是±∞+NaNi
(真實(shí)部分的符號(hào)未指定)
如果z
是NaN+NaNi
,結(jié)果是NaN+NaNi
盡管C標(biāo)準(zhǔn)將這個(gè)函數(shù)命名為“復(fù)曲線雙曲正弦”,但雙曲函數(shù)的反函數(shù)是區(qū)域函數(shù)。他們的論點(diǎn)是雙曲線領(lǐng)域,而不是弧線。正確的名稱(chēng)是“復(fù)數(shù)反雙曲正弦”,不太常見(jiàn)的是“復(fù)曲面雙曲正弦”。
反雙曲正弦是一種多值函數(shù),需要在復(fù)平面上進(jìn)行分支切分。分支切割通常放置在線段( - 我 - ∞,我)和(我,我虛軸的∞)。
反雙曲正弦的主值的數(shù)學(xué)定義為asinh z = ln(z +√1+ z2
) For any z, asinh(z) =
| asin(iz) |
|:----|
| i |
#include <stdio.h>#include <complex.h> int main(void){ double complex z = casinh(0+2*I); printf("casinh(+0+2i) = %f%+fi\n", creal(z), cimag(z)); double complex z2 = casinh(-conj(2*I)); // or casinh(CMPLX(-0.0, 2)) in C11 printf("casinh(-0+2i) (the other side of the cut) = %f%+fi\n", creal(z2), cimag(z2)); // for any z, asinh(z) = asin(iz)/i double complex z3 = casinh(1+2*I); printf("casinh(1+2i) = %f%+fi\n", creal(z3), cimag(z3)); double complex z4 = casin((1+2*I)*I)/I; printf("casin(i * (1+2i))/i = %f%+fi\n", creal(z4), cimag(z4));}
輸出:
casinh(+0+2i) = 1.316958+1.570796icasinh(-0+2i) (the other side of the cut) = -1.316958+1.570796icasinh(1+2i) = 1.469352+1.063440icasin(i * (1+2i))/i = 1.469352+1.063440i
C11標(biāo)準(zhǔn)(ISO / IEC 9899:2011):
7.3.6.2 casinh函數(shù)(p:192-193)
7.25類(lèi)型通用數(shù)學(xué)<tgmath.h>(p:373-375)
G.6.2.2賭場(chǎng)功能(p:540)
G.7類(lèi)型 - 通用數(shù)學(xué)<tgmath.h>(p:545)
C99標(biāo)準(zhǔn)(ISO / IEC 9899:1999):
7.3.6.2賭場(chǎng)功能(p:174-175)
7.22類(lèi)型通用數(shù)學(xué)<tgmath.h>(p:335-337)
G.6.2.2賭場(chǎng)功能(p:475)
G.7類(lèi)型 - 通用數(shù)學(xué)<tgmath.h>(p:480)