cacos
在头文件<math.h>中定义 | | |
---|---|---|
float complex cacosf( float complex z ); | (1) | (since C99) |
double complex cacos( double complex z ); | (2) | (since C99) |
long double complex cacosl( long double complex z ); | (3) | (since C99) |
Defined in header <tgmath.h> | | |
#define acos( z ) | (4) | (since 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; ∞)沿实轴和在范围- 我 π;i沿虚轴。
错误处理和特殊值
报告的错误与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 |
π + _i_ln(_i_z + √1-z2
)
For any 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)
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com