cacosf, cacos, cacosl
來自 cppreference.com
| 定義在標頭檔案 <complex.h> 中 |
||
| (1) | (C99 起) | |
| (2) | (C99 起) | |
| (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 為實數或整數,則宏呼叫對應的實函式(acosf、acos、acosl)。若 z 為虛數,則宏呼叫對應的複數版本。目錄 |
[編輯] 引數
| z | - | 複數引數 |
[編輯] 返回值
若無錯誤發生,返回 z 的複數反餘弦,其範圍為沿虛軸無界、沿實軸在區間 [0; π] 內的條帶。
[編輯] 錯誤處理與特殊值
錯誤報告與 math_errhandling 一致。
如果實現支援 IEEE 浮點算術,
- cacos(conj(z)) == conj(cacos(z))
- 若
z為±0+0i,則結果為π/2-0i - 若
z為±0+NaNi,則結果為π/2+NaNi - 若
z為x+∞i(對於任意有限 x),則結果為π/2-∞i - 若
z為x+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(虛部的符號未指定) - 若
z為NaN+yi(對於任意有限 y),則結果為NaN+NaNi且可能引發 FE_INVALID - 若
z為NaN+∞i,則結果為NaN-∞i - 若
z為NaN+NaNi,則結果為NaN+NaNi
[編輯] 注意
反餘弦(或弧餘弦)是一個多值函式,需要在複平面上有一個分支切割。分支切割通常放置在實軸的線段 (-∞,-1) 和 (1,∞) 上。
反餘弦主值的數學定義為 acos z =| 1 |
| 2 |
)
對於任意 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
| |