跳轉到內容

C 程式設計/complex.h

來自華夏公益教科書,開放書籍,開放世界

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 中宣告的每個函式都有三個版本,每個版本都使用不同的浮點型別(doublefloatlong double)。這裡只列出了每個函式的 double 版本;要使用 float(或 long double)版本,請在函式名稱後附加一個 f(或 l,分別)(例如,cabsfcabsl)。

請注意,所有角度都以弧度表示。

基本運算
cabs 計算絕對值
carg 計算複數的幅角
cimag 計算複數的虛部
creal 計算複數的實部
conj 計算複數共軛
cproj 計算複數到黎曼球面的投影
指數運算
cexp 計算複數指數
clog 計算複數對數
csqrt 計算複數平方根
cpow 計算複數冪
三角運算
csin 計算複數正弦
ccos 計算複數餘弦
ctan 計算複數正切
casin 計算複數反正弦
cacos 計算複數反餘弦
catan 計算複數反正切
雙曲運算
csinh 計算複數雙曲正弦
ccosh 計算複數雙曲餘弦
ctanh 計算複數雙曲正切
casinh 計算複數雙曲反正弦
cacosh 計算複數雙曲反餘弦
catanh 計算複數雙曲反正切

參考文獻

[編輯 | 編輯原始碼]
  1. complex.h: 複數運算 – 基本定義參考,The Single UNIX® Specification,來自 The Open Group 的第 7 版
  2. Dr. Dobb's journal: 軟體工具,面向專業程式設計師,第 27 卷 "Annex G 中的許多結果都是純粹的臆造,在數學上是錯誤的"
華夏公益教科書