Skip to content

Commit 18475e5

Browse files
Merge pull request #1954 from CliMA/ck/field_vector_equals
Define == for same-typed fieldvectors
2 parents 5f6b477 + d8a6ef0 commit 18475e5

File tree

3 files changed

+8
-4
lines changed

3 files changed

+8
-4
lines changed

src/Fields/fieldvector.jl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -455,3 +455,7 @@ Returns `true` if `x == y` recursively.
455455
"""
456456
rcompare(x::T, y::T) where {T <: Union{FieldVector, NamedTuple}} =
457457
_rcompare(true, x, y)
458+
459+
# Define == to call rcompare for two fieldvectors of the same
460+
# exact type.
461+
Base.:(==)(x::T, y::T) where {T <: FieldVector} = rcompare(x, y)

test/Fields/unit_field.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -310,10 +310,10 @@ end
310310
Y.k.z = 3.0
311311
@test Y.k.z === 3.0
312312

313-
@test Fields.rcompare(Y, Y)
313+
@test Y == Y
314314
Ydc = deepcopy(Y)
315315
Ydc.k.z += 1
316-
@test !Fields.rcompare(Ydc, Y)
316+
@test !(Ydc == Y)
317317
# Fields.@rprint_diff(Ydc, Y)
318318
s = sprint(
319319
Fields._rprint_diff,

test/Fields/utils_field_multi_broadcast_fusion.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,8 @@ function test_kernel!(; fused!, unfused!, X, Y)
103103
@testset "Test correctness of $(nameof(typeof(fused!)))" begin
104104
Fields.@rprint_diff(X_fused, X_unfused)
105105
Fields.@rprint_diff(Y_fused, Y_unfused)
106-
@test Fields.rcompare(X_fused, X_unfused)
107-
@test Fields.rcompare(Y_fused, Y_unfused)
106+
@test X_fused == X_unfused
107+
@test Y_fused == Y_unfused
108108
end
109109
end
110110

0 commit comments

Comments
 (0)