Skip to content

Commit e86ee1f

Browse files
committed
fix unique over a dimension to use isequal over == (#42737)
(cherry picked from commit 011fda9)
1 parent 982d585 commit e86ee1f

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

base/multidimensional.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1623,7 +1623,7 @@ _unique_dims(A::AbstractArray, dims::Colon) = invoke(unique, Tuple{Any}, A)
16231623
else
16241624
j_d = i_d
16251625
end) begin
1626-
if (@nref $N A j) != (@nref $N A i)
1626+
if !isequal((@nref $N A j), (@nref $N A i))
16271627
collided[k] = true
16281628
end
16291629
end
@@ -1653,7 +1653,7 @@ _unique_dims(A::AbstractArray, dims::Colon) = invoke(unique, Tuple{Any}, A)
16531653
j_d = i_d
16541654
end
16551655
end begin
1656-
if (@nref $N A j) != (@nref $N A i)
1656+
if !isequal((@nref $N A j), (@nref $N A i))
16571657
nowcollided[k] = true
16581658
end
16591659
end

test/arrayops.jl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -790,6 +790,10 @@ let A, B, C, D
790790

791791
# With hash collisions
792792
@test map(x -> x.x, unique(map(HashCollision, B), dims=1)) == C
793+
794+
# With NaNs:
795+
E = [1 NaN 3; 1 NaN 3; 1 NaN 3];
796+
@test isequal(unique(E, dims=1), [1 NaN 3])
793797
end
794798

795799
@testset "large matrices transpose" begin

0 commit comments

Comments
 (0)