From 7bfe4313211c6f38f034a5659932f033e37a0f79 Mon Sep 17 00:00:00 2001 From: Johnny Chen Date: Thu, 23 Aug 2018 20:58:58 +0800 Subject: [PATCH] Fix issue #323 --- src/tracker/array.jl | 6 +++++- src/tracker/scalar.jl | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/tracker/array.jl b/src/tracker/array.jl index ce72755d..35d2c39f 100644 --- a/src/tracker/array.jl +++ b/src/tracker/array.jl @@ -1,4 +1,4 @@ -import Base: *, == +import Base: *, ==, ≈ import LinearAlgebra using Statistics @@ -64,6 +64,10 @@ x::TrackedArray == y = data(x) == y y == x::TrackedArray = y == data(x) x::TrackedArray == y::TrackedArray = data(x) == data(y) +x::TrackedArray ≈ y = data(x) ≈ y +y ≈ x::TrackedArray = y ≈ data(x) +x::TrackedArray ≈ y::TrackedArray = data(x) ≈ data(y) + # Array Stdlib Base.getindex(xs::TrackedArray, i...) = track(getindex, xs, i...) diff --git a/src/tracker/scalar.jl b/src/tracker/scalar.jl index 9ff1895a..03892c46 100644 --- a/src/tracker/scalar.jl +++ b/src/tracker/scalar.jl @@ -32,6 +32,7 @@ Base.convert(::Type{TrackedReal{T}}, x::TrackedReal{S}) where {T,S} = Base.:(<)(x::TrackedReal, y::TrackedReal) = data(x) < data(y) Base.:(==)(x::TrackedReal, y::TrackedReal) = data(x) == data(y) +Base.:(≈)(x::TrackedReal, y::TrackedReal) = data(x) ≈ data(y) Base.eps(x::TrackedReal) = eps(data(x))