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 中的許多結果都是純粹的臆造,在數學上是錯誤的"