Le mardi 21 janvier 2014 à 00:13 -0500, Jeff Bezanson a écrit :

> The main reason is that there are many types of numbers, with more
> added all the time. And for purposes of hash tables, it is difficult
> to ensure that all numerically-equal numbers hash the same. So we had
> isequal(), which is used by dictionaries, distinguish numbers of
> different types. At this point, we would kind of like to change this
> back and make isequal more liberal (although it would still
> distinguish -0.0 and 0.0, and so not be strictly more liberal than
> ==). However, the hashing problem remains. Any ideas are welcome.

Actually, you changed the behavior of in to use == instead of isequal()
after I filed an issue: https://github.com/JuliaLang/julia/issues/4941


With git master as of a few days, this works:
julia> x = int32(4)
4

julia> y = int64(4)
4

julia> x == y
true

julia> x in [y]
true

That doesn't mean hashing shouldn't be improved, though.


Regards

Reply via email to