名稱空間
變體
操作

cacosf, cacos, cacosl

來自 cppreference.com
< c‎ | 數值‎ | 複數
定義在標頭檔案 <complex.h>
float complex       cacosf( float complex z );
(1) (C99 起)
double complex      cacos( double complex z );
(2) (C99 起)
long double complex cacosl( long double complex z );
(3) (C99 起)
定義於標頭檔案 <tgmath.h>
#define acos( z )
(4) (C99 起)
1-3) 計算 z 的複數反餘弦,在實軸上區間 [−1,+1] 之外帶分支切口。
4) 泛型宏:若 z 的型別為 long double complex,則呼叫 cacosl。若 z 的型別為 double complex,則呼叫 cacos。若 z 的型別為 float complex,則呼叫 cacosf。若 z 為實數或整數,則宏呼叫對應的實函式(acosfacosacosl)。若 z 為虛數,則宏呼叫對應的複數版本。

目錄

[編輯] 引數

z - 複數引數

[編輯] 返回值

若無錯誤發生,返回 z 的複數反餘弦,其範圍為沿虛軸無界、沿實軸在區間 [0; π] 內的條帶。

[編輯] 錯誤處理與特殊值

錯誤報告與 math_errhandling 一致。

如果實現支援 IEEE 浮點算術,

  • cacos(conj(z)) == conj(cacos(z))
  • z±0+0i,則結果為 π/2-0i
  • z±0+NaNi,則結果為 π/2+NaNi
  • zx+∞i (對於任意有限 x),則結果為 π/2-∞i
  • zx+NaNi (對於任意非零有限 x),則結果為 NaN+NaNi 且可能引發 FE_INVALID
  • z-∞+yi (對於任意正有限 y),則結果為 π-∞i
  • z+∞+yi (對於任意正有限 y),則結果為 +0-∞i
  • z-∞+∞i,則結果為 3π/4-∞i
  • z+∞+∞i,則結果為 π/4-∞i
  • z±∞+NaNi,則結果為 NaN±∞i (虛部的符號未指定)
  • zNaN+yi (對於任意有限 y),則結果為 NaN+NaNi 且可能引發 FE_INVALID
  • zNaN+∞i,則結果為 NaN-∞i
  • zNaN+NaNi,則結果為 NaN+NaNi

[編輯] 注意

反餘弦(或弧餘弦)是一個多值函式,需要在複平面上有一個分支切割。分支切割通常放置在實軸的線段 (-∞,-1)(1,∞) 上。

反餘弦主值的數學定義為 acos z =
1
2
π + iln(iz + 1-z2
)

對於任意 z,acos(z) = π - acos(-z)

[編輯] 示例

#include <stdio.h>
#include <math.h>
#include <complex.h>
 
int main(void)
{
    double complex z = cacos(-2);
    printf("cacos(-2+0i) = %f%+fi\n", creal(z), cimag(z));
 
    double complex z2 = cacos(conj(-2)); // or CMPLX(-2, -0.0)
    printf("cacos(-2-0i) (the other side of the cut) = %f%+fi\n", creal(z2), cimag(z2));
 
    // for any z, acos(z) = pi - acos(-z)
    double pi = acos(-1);
    double complex z3 = ccos(pi-z2);
    printf("ccos(pi - cacos(-2-0i) = %f%+fi\n", creal(z3), cimag(z3));
}

輸出

cacos(-2+0i) = 3.141593-1.316958i
cacos(-2-0i) (the other side of the cut) = 3.141593+1.316958i
ccos(pi - cacos(-2-0i) = 2.000000+0.000000i

[編輯] 參考文獻

  • C11 標準 (ISO/IEC 9899:2011)
  • 7.3.5.1 cacos 函式 (p: 190)
  • 7.25 型別通用數學 <tgmath.h> (p: 373-375)
  • G.6.1.1 cacos 函式 (p: 539)
  • G.7 型別通用數學 <tgmath.h> (p: 545)
  • C99 標準 (ISO/IEC 9899:1999)
  • 7.3.5.1 cacos 函式 (p: 172)
  • 7.22 型別通用數學 <tgmath.h> (p: 335-337)
  • G.6.1.1 cacos 函式 (p: 474)
  • G.7 型別通用數學 <tgmath.h> (p: 480)

[編輯] 另請參閱

(C99 起)(C99 起)(C99 起)
計算復反正弦
(函式) [編輯]
(C99 起)(C99 起)(C99 起)
計算復反正切
(函式) [編輯]
(C99 起)(C99 起)(C99 起)
計算復餘弦
(函式) [編輯]
(C99 起)(C99 起)
計算反餘弦 (arccos(x))
(函式) [編輯]
C++ 文件 用於 acos