C 编程/complex.h
外观
< C 编程
(重定向自 C 编程/C 参考/complex.h)complex.h 是一个头文件,定义了复数运算的功能。[1] 这些函数使用内置类型 complex
,该类型在 C 的 C99 修订版中引入。
不应将此头文件与 C++ 标准库头文件 <complex>
混淆,后者以完全不同的方式实现复数(作为模板类,complex<T>
)。
通用宏
- complex - _Complex 的别名
- _Complex_I - 常量,其类型为 "const float _Complex",值为虚数单位 I,I*I=-1
仅为兼容 `C99 Annex G` 的编译器模式定义 - 虚数类型的原生支持(这非常罕见,因为 Annex G 在数学上是错误的[2])
- imaginary - _Imaginary 的别名
- _Imaginary_I 展开为类型为 const float _Imaginary 的常量表达式,其值为虚数单位。
I 的通用别名
- I - 如果定义了 _Imaginary_I,则为 _Imaginary_I 的别名,否则 - 为 _Complex_I 的别名
应用程序可以在干扰内部值的情况下取消定义 complex、imaginary 和 I 宏。
complex.h
中声明的每个函数都有三个版本,每个版本都使用不同的浮点类型(double
、float
和 long double
)。这里只列出了每个函数的 double
版本;要使用 float
(或 long double
)版本,请在函数名称后面添加 f
(或 l
,分别)(例如,cabsf
和 cabsl
)。
请注意,所有角度均以弧度为单位。
- 基本运算
cabs | 计算绝对值 |
carg | 计算复数的参数 |
cimag | 计算复数的虚部 |
creal | 计算复数的实部 |
conj | 计算复共轭 |
cproj | 计算复数到黎曼球面的投影 |
- 指数运算
cexp | 计算复指数 |
clog | 计算复对数 |
csqrt | 计算复平方根 |
cpow | 计算复数幂 |
- 三角运算
csin | 计算复正弦 |
ccos | 计算复余弦 |
ctan | 计算复正切 |
casin | 计算复反正弦 |
cacos | 计算复反余弦 |
catan | 计算复反正切 |
- 双曲运算
csinh | 计算复双曲正弦 |
ccosh | 计算复双曲余弦 |
ctanh | 计算复双曲正切 |
casinh | 计算复双曲反正弦 |
cacosh | 计算复双曲反余弦 |
catanh | 计算复双曲反正切 |
- ↑ : 复数运算 – 基本定义参考,单一 UNIX® 规范,来自开放组的第 7 版
- ↑ Dr. Dobb's 杂志:面向专业程序员的软件工具,第 27 卷 "Annex G 中的许多结果纯粹是发明,在数学上是不正确的"