Julia: AST 中的字面 NaN

创建于 2016-03-31  ·  3评论  ·  资料来源: JuliaLang/julia

也许比较 AST 不是一个很常见的操作,但我遇到了以下令我感到惊讶的事情。 我认为==应该忽略 NaN 在数值上不等于它们自己的事实甚至是有争议的,因为它不是真正的数值比较。

julia> :(f($NaN)) == :(f($NaN))
false

julia> isequal(:(f($NaN)), :(f($NaN)))
false

最有用的评论

甚至有争议的是 == 应该忽略 NaN 在数值上不等于它们自己的事实,因为它不是真正的数值比较。

NaN 文字不是 NaN 值,是的

所有3条评论

看起来我们需要一个isequal方法来递归调用isequal的 Expr。

甚至有争议的是 == 应该忽略 NaN 在数值上不等于它们自己的事实,因为它不是真正的数值比较。

NaN 文字不是 NaN 值,是的

很好的一点。 真正的解决方案可能是==在 Exprs 上使用isequal来比较元素。

此页面是否有帮助?
0 / 5 - 0 等级