Skip to content

Commit

Permalink
Fix Aqua tests
Browse files Browse the repository at this point in the history
  • Loading branch information
mtfishman committed Nov 26, 2024
1 parent 932a9f4 commit 31b269f
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 6 deletions.
15 changes: 14 additions & 1 deletion src/unspecifiednumber.jl
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
abstract type AbstractUnspecifiedNumber <: Number end

struct UnspecifiedNumber{T} <: AbstractUnspecifiedNumber
struct UnspecifiedNumber{T<:Number} <: AbstractUnspecifiedNumber
value::T
global @inline function _UnspecifiedNumber(value::Number)
return new{typeof(value)}(value)
end
end

UnspecifiedNumber(n::Number) = _UnspecifiedNumber(n)
UnspecifiedNumber{T}(n::Number) where {T<:Number} = UnspecifiedNumber(convert(T, n))

UnspecifiedNumber{T}(n::UnspecifiedNumber{T}) where {T<:Number} = n

# Fix ambiguity error.
function UnspecifiedNumber{T}(n::Base.TwicePrecision) where {T<:Number}
return UnspecifiedNumber(convert(T, n))
end
8 changes: 3 additions & 5 deletions src/unspecifiedzero.jl
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,6 @@ Base.:/(::Number, ::UnspecifiedZero) = throw(DivideError())
Base.:/(::UnspecifiedZero, ::UnspecifiedZero) = throw(DivideError())
Base.:-(::UnspecifiedZero) = UnspecifiedZero()

Base.promote_type(z::Type{<:UnspecifiedZero}, ElT::Type) = Base.promote_type(ElT, z)

Base.promote_type(ElT::Type, ::Type{<:UnspecifiedZero}) = ElT
Base.promote_type(::Type{<:UnspecifiedZero}, ::Type{<:UnspecifiedZero}) = UnspecifiedZero
Base.promote_type(ElT::Type, ::Type{<:Complex{<:UnspecifiedZero}}) = Complex{real(ElT)}
Base.promote_rule(::Type{<:UnspecifiedZero}, t::Type) = t2
Base.promote_rule(::Type{<:UnspecifiedZero}, ::Type{<:UnspecifiedZero}) = UnspecifiedZero
Base.promote_type(::Type{<:Complex{<:UnspecifiedZero}}, t::Type) = complex(t)

0 comments on commit 31b269f

Please sign in to comment.