跳轉到內容

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 中宣告的每個函式都有三個版本,每個版本都使用不同的浮點型別(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: 複數運算 – 基本定義參考,單一 UNIX® 規範,來自開放組的第 7 版
  2. Dr. Dobb's 雜誌:面向專業程式設計師的軟體工具,第 27 卷 "Annex G 中的許多結果純粹是發明,在數學上是不正確的"
華夏公益教科書