繁体   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