簡體   English   中英

MiniZinc中的最小和最大浮點值

[英]Minimum and Maximum float value in MiniZinc

根據MiniZinc 規范

浮點數代表實數。 浮點表示法是實現定義的。 這意味着浮點數的可表示范圍和精度是實現定義的。 但是,實現應在運行時中止特殊的浮點操作(例如,如果使用IEEE754浮點,則產生NaN的操作)中止。

Float表示是實現定義的 ,這意味着什么? 是否取決於要使用的求解器?

以及mzn2fzn工具如何處理Float表示形式? 它的界限是什么?

MiniZinc嘗試遵守IEEE標准。 就我所知,編譯器本身( minizinc驅動程序或其較老的兄弟mzn2fzn )遵守此標准。 在內部,編譯器對其浮點值使用64位精度。 如果存在任何編譯器不遵守這些標准的問題,我建議您報告這些問題。

求解器的標准是另一回事。 MiniZinc僅對求解器實施最小的控制。 如果要確保他們采用正確的標准,則必須與求解器的制造商進行驗證。 這就是為什么規范說它是實現定義的原因 ,因為求解程序可能像大多數求解程序那樣使用32位(例如Gecode),64位,或者使用完全不同的技術(例如間隔庫)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM