Julia: NaNs literais em ASTs

Criado em 31 mar. 2016  ·  3Comentários  ·  Fonte: JuliaLang/julia

Talvez comparar ASTs não seja uma operação muito comum, mas me deparei com o seguinte que achei surpreendente. Eu acho que é até discutível que == deva ignorar os fatos de que os NaNs não são numericamente iguais a si mesmos, já que não é realmente uma comparação numérica.

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

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

Comentários muito úteis

é até discutível que == deva ignorar os fatos de que NaNs não são numericamente iguais a si mesmos, pois não é realmente uma comparação numérica.

Literal NaN não é valor NaN, sim

Todos 3 comentários

Parece que precisamos de um método isequal para Expr que chame isequal recursivamente.

é até discutível que == deva ignorar os fatos de que NaNs não são numericamente iguais a si mesmos, pois não é realmente uma comparação numérica.

Literal NaN não é valor NaN, sim

Ponto muito bom. A solução real é provavelmente == em Exprs para usar isequal para comparar elementos.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

tkoolen picture tkoolen  ·  3Comentários

felixrehren picture felixrehren  ·  3Comentários

musm picture musm  ·  3Comentários

TotalVerb picture TotalVerb  ·  3Comentários

StefanKarpinski picture StefanKarpinski  ·  3Comentários