首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

VDSP (BF561) 浮點運算系列(1):資料類型支援與 double 預設陷阱

     編輯:關於C++

VDSP 5.0 文檔列出支援類型:

類型位元表示sizeof
float32IEEE single4
double32/64IEEE single/double4/8
long double64IEEE double8
fract1616signed 1.152
fract3232signed 1.314

預設陷阱

專案選項可控制 double 為 32 或 64 位,**預設為 32 位**(同 float),因 BF561 無硬體 FPU,32 位軟體模擬最高效。文檔說明:

On Blackfin processors, the float data type is 32 bits, and the double data type default size is 32 bits. This size is chosen because it is the most efficient.

風險

若庫與呼叫端使用不同 double 大小編譯,會導致執行期不可預期錯誤(參數大小、棧佈局、結構體大小不匹配)。科學計算移植時務必統一設定或改用 long double 明確指定 64 位。

ADI 定點格式

fract16/fract32 為 ADI 專有定點格式,非 IEEE 標準,效能最佳但需手動歸一化與溢出管理。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved