Julia: NaN littéraux dans les AST

Créé le 31 mars 2016  ·  3Commentaires  ·  Source: JuliaLang/julia

Peut-être que la comparaison des AST n'est pas une opération très courante, mais je suis tombé sur ce qui suit que j'ai trouvé surprenant. Je pense que l'on peut même soutenir que == devrait ignorer le fait que les NaN ne sont pas numériquement égaux à eux-mêmes car ce n'est pas vraiment une comparaison numérique.

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

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

Commentaire le plus utile

on peut même soutenir que == devrait ignorer le fait que les NaN ne sont pas numériquement égaux à eux-mêmes car ce n'est pas vraiment une comparaison numérique.

Le littéral NaN n'est pas la valeur NaN, oui

Tous les 3 commentaires

Il semble que nous ayons besoin d'une méthode isequal pour Expr qui appelle isequal manière récursive.

on peut même soutenir que == devrait ignorer le fait que les NaN ne sont pas numériquement égaux à eux-mêmes car ce n'est pas vraiment une comparaison numérique.

Le littéral NaN n'est pas la valeur NaN, oui

Très bon point. La vraie solution est probablement que == sur Exprs utilise isequal pour comparer les éléments.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

m-j-w picture m-j-w  ·  3Commentaires

yurivish picture yurivish  ·  3Commentaires

ararslan picture ararslan  ·  3Commentaires

StefanKarpinski picture StefanKarpinski  ·  3Commentaires

tkoolen picture tkoolen  ·  3Commentaires