XL Fortran 浮點數處理程序的實作詳細資料

本主題回答有關浮點處理的一些常見問題。

  • 如何取得可預測且一致的結果?
  • 如何取得最快或最精確的結果?
  • 如何偵測異常狀況,並可能從異常狀況回復?
  • 我可以使用哪些編譯器選項來進行浮點計算?

說明浮點精準度的主題會經常參照 XL Fortran Compiler Reference中的 Floating-point and integer control 中的編譯器選項,特別是 -qfloat 選項。 XL Fortran 編譯器也提供三個本質模組來進行異常狀況處理,以及 IEEE 算術支援,以協助您撰寫符合 IEEE 模組標準且可更易於攜的程式碼。 如需詳細資料,請參閱 XL Fortran Language Reference 中的 IEEE Modules and Support

使用編譯器選項來計算浮點數會影響精確度、效能,可能也會影響浮點數計算的正確性。 雖然已選擇選項的預設值來提供大部分程式的有效及正確執行,但您可能需要指定應用程式的非預設選項,才能依您想要的方式運作。 我們強烈建議您在使用這些選項之前先閱讀本節。

附註: 本節中單一精準度、倍精準度及延伸精準度計算的討論都參照預設狀況,並指定 -qrealsize=4 且未指定 -qautodbl 。 如果您變更這些設定,請記住 Fortran REALDOUBLE PRECISION等的大小可能會變更,但單精準度、倍精準度及延伸精準度 (小寫) 仍分別指 4、8 及 16 位元組實體。