How to compute `ulp`when `Math.ulp` is missing?(当`Math.ulp`丢失时,如何计算`ulp`?)
问题描述
我需要给定双精度值的ulp,但由于我是为代号1开发的,所以没有提供ulp(double)
。有没有人知道用Java计算ulp
的有效算法?Codename One仅提供了Math
类中的一些方法(javadoc用于CN1版本),并且填补了MathUtil中的一些空白。
作为一种解决办法,我使用此(不正确的)代码,直到我找到一个可用的替代代码:
编辑:我为review发布了我自己的代码。以防其他人需要这个。
推荐答案
好的,因为我没有找到可用的替代品(ApacheHarmony和OpenJDK最终都使用了CN1上没有的本机方法),所以我编写了自己的版本(针对OpenJDK-Version进行了测试)。以防万一有人需要。
至于代号一:我向MathUtil类提交了一个补丁,所以希望迟早会添加这个补丁。
这篇关于当`Math.ulp`丢失时,如何计算`ulp`?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!