This commit is contained in:
Mike J Innes 2018-02-07 23:21:04 +00:00
parent dc15d6c155
commit 4511936a87

View File

@ -30,10 +30,12 @@ Base.:(==)(x::TrackedNumber, y::Number) = data(x) == y
Base.:(==)(x::Number, y::TrackedNumber) = x == data(y) Base.:(==)(x::Number, y::TrackedNumber) = x == data(y)
Base.:(==)(x::TrackedNumber, y::TrackedNumber) = data(x) == data(y) Base.:(==)(x::TrackedNumber, y::TrackedNumber) = data(x) == data(y)
for f in :[isinf, isnan].args for f in :[isinf, isnan, isfinite].args
@eval Base.$f(x::TrackedNumber) = isinf(data(x)) @eval Base.$f(x::TrackedNumber) = Base.$f(data(x))
end end
Base.Printf.fix_dec(x::TrackedNumber, n::Int) = Base.Printf.fix_dec(data(x), n)
Base.promote_rule(::Type{TrackedNumber{S}},::Type{T}) where {S,T} = Base.promote_rule(::Type{TrackedNumber{S}},::Type{T}) where {S,T} =
TrackedNumber{promote_type(S,T)} TrackedNumber{promote_type(S,T)}