Math该类的Javadoc
提供了有关两个类之间差异的一些信息:
与class的某些数字方法不同,class
StrictMath的等效函数的所有实现Math未定义为返回逐位相同的结果。这种放松允许在不需要严格的可重复性的情况下实现性能更好的实现。默认情况下,许多
Math方法只是在StrictMath实现中调用等效方法
。鼓励代码生成器使用特定于平台的本机库或微处理器指令(如果可用),以提供方法的更高性能的实现Math。这种更高性能的实现仍必须符合的规范Math。
因此,
Math该类列出了有关某些 *** 作应该执行的一些规则,但是它们并不要求在所有库实现中都返回 完全相同的 结果。
这允许库的特定实现返回类似的结果,但是如果例如
Math.cos调用该类,则不能返回完全相同的结果。这将允许特定于平台的实现(例如使用x86浮点和SPARC浮点),这些实现可能会返回不同的结果。
( 有关特定于平台的实现的示例,请参阅Wikipedia中Sine文章的“
软件实现”部分。)
但是,使用时
StrictMath,不同实现返回的结果
必须 返回相同的结果。对于需要在不同平台上再现结果的情况,这将是理想的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)