Complex.h

complex.h是C標準函数庫中的头文件,提供了复数算术所需要的宏定义与函数声明。
类型
C99及C++11都规定了关键字_Complex。因而有3种复数类型:
*double _Complex
*float _Complex
*long double _Complex
次序不是必须遵守的,比如float _Complex也可以写成_Complex float。

_Complex_I扩展为类型为const float _Complex的常量值,其值为虚数单位。

C99规定complex作为宏扩展为_Complex。但C++未定义complex宏。

gcc仅支持complex type,不支持imaginary type。因此宏I扩展为_Complex_I。

定义复数变量时,可以如此:

double _Complex v1=3.1+5*I;
double _Complex v2=3.2+5*_Complex_I;
float _Complex v3=4.6f+12.0IF; //必须先写i,后写f
_Complex float v4=8.2f+2.3if;
long double _Complex v5=1.23456789L+3.456789999iL; //必须先写i,后写L

也可以用CMPLX/CMPLXF/CMPLXL宏来表示相应复数表达式。
函数
*複三角函数
**反余弦
***cacos 双精度版本
***cacosf 单精度版本
***cacosl 长双精度版本
**反正弦
***casin 双精度版本
***casinf 单精度版本
***casinl 长双精度版本
**反正切
***catan 双精度版本
***catanf 单精度版本
***catanl 长双精度版本
**余弦
***ccos 双精度版本
***ccosf 单精度版本
***ccosl 长双精度版本
**正弦
***csin 双精度版本
***csinf 单精度版本
***csinl 长双精度版本
**正切
***ctan 双精度版本
***ctanf 单精度版本
***ctanl 长双精度版本
*复双曲函数
**反双曲余弦
***cacosh 双精度版本
***cacoshf 单精度版本
***cacoshl 长双精度版本
**反双曲正弦
***casinh 双精度版本
***casinhf 单精度版本
***casinhl 长双精度版本
**反双曲正切
***catanh 双精度版本
***catanhf 单精度版本
***catanhl 长双精度版本
**双曲余弦
***ccosh 双精度版本
***ccoshf 单精度版本
***ccoshl 长双精度版本
**双曲正弦
***csinh 双精度版本
***csinhf 单精度版本
***csinhl 长双精度版本
**双曲正切
***ctanh 双精度版本
***ctanhf 单精度版本
***ctanhl 长双精度版本
*指数与对数函数
**指数
***cexp 双精度版本
***cexpf 单精度版本
***cexpl 长双精度版本
**自然对数
***clog 双精度版本
***clogf 单精度版本
***clogl 长双精度版本
*幂运算和绝对值
**绝对值
***cabs 双精度版本
***cabsf 单精度版本
***cabsl 长双精度版本
**幂运算
***cpow 双精度版本
***cpowf 单精度版本
***cpowl 长双精度版本
**平方根
***csqrt 双精度版本
***csqrtf 单精度版本
***csqrtl 长双精度版本
*操作
**相角
***carg 双精度版本
***cargf 单精度版本
***cargl 长双精度版本
**虚部
***cimag 双精度版本
***cimagf 单精度版本
***cimagl 长双精度版本
**复共轭
***cong 双精度版本
***congf 单精度版本
***congl 长双精度版本
**黎曼球面投影
***cproj 双精度版本
***cprojf 单精度版本
***cprojl 长双精度版本
**实部
***creal 双精度版本
***crealf 单精度版本
***creall 长双精度版本

参考文献
*C11 n1570 标准 7.3节

评论 (0)

  • 还没有评论,来抢沙发吧。