C 编程/complex.h
外观
< C 编程
complex.h 是一个头文件,定义了复数运算的功能。[1] 这些函数使用内置类型 complex
,该类型在 C99 版本的 C 中引入。
此头文件不应与 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 | 计算复数双曲反正切 |
- ↑ : 复数运算 – 基本定义参考,The Single UNIX® Specification,来自 The Open Group 的第 7 版
- ↑ Dr. Dobb's journal: 软件工具,面向专业程序员,第 27 卷 "Annex G 中的许多结果都是纯粹的臆造,在数学上是错误的"