VDSP 預設 double 同 float (32-bit),long double 為 64-bit IEEE 754 雙精度。比較兩者型別表示與運算效能。
| float | long double | |
|---|---|---|
| 位元組 | 4 | 8 |
| 符號位 | 1 | 1 |
| 指數位 | 8 | 11 |
| 尾數位 | 23 | 52 |
| 最小值 | 1.17e-38 | 2.22e-308 |
| 最大值 | 3.40e+38 | 1.79e+308 |
| 解析度 | 1.19e-07 | 2.22e-16 |
| 運算 | float | long double |
|---|---|---|
| 加減 | 132 cycles | 166 cycles |
| 乏法 | 92 cycles | 179 cycles |
| 除法 | 240 cycles | 1506 cycles |
long double 除法極慢(6.3x)。
| 運算 | float | long double |
|---|---|---|
| 加減 | 310 | 381 |
| 乏法 | 274 | 585 |
| 除法 | 497 | 1063 |
反常現象:Strict IEEE 下 long double 除法反而比 High Performance 快(1063 vs 1506),文檔說明兩種庫的差異未解釋此例外。
嵌入式 DSP 應優先使用 float 或 fract,避免 long double 巨大開銷。若專案混用不同浮點設定編譯,會導致執行期錯誤。