-0 and 0 are not equivalent in the eye of isequal() while applied in find*() functions

You sure about that? -0 is the Int 0.

Note that this has nothing to do with find*, it’s simply because that’s what you asked for from isequal.

julia> isequal(0.0, -0.0)
false

julia> isequal(0.0, 0.0)
true

If you don’t want this behavior, you simply need to provide the condition that you expect. == should compare -0.0 and 0.0 equal so you can just do

julia> findall(==(0), a)
4-element Array{Int64,1}:
 1
 2
 3
 6
4 Likes