Skip to content

Commit 9697e81

Browse files
fix: remove invalidating ::Any methods
1 parent 844f5a5 commit 9697e81

File tree

2 files changed

+6
-12
lines changed

2 files changed

+6
-12
lines changed

src/comparison.jl

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,8 @@ function Base.isone(p::AbstractPolynomial)
1010
return isone(nterms(p)) && isone(first(terms(p)))
1111
end
1212

13-
# See https://github.com/blegat/MultivariatePolynomials.jl/issues/22
14-
# avoids the call to be transfered to left_constant_eq
15-
Base.:(==)(α::Nothing, x::_APL) = false
16-
Base.:(==)(x::_APL, α::Nothing) = false
1713
Base.:(==)(α::Dict, x::_APL) = false
1814
Base.:(==)(x::_APL, α::Dict) = false
19-
Base.:(==)(α::Nothing, x::RationalPoly) = false
20-
Base.:(==)(x::RationalPoly, α::Nothing) = false
2115
Base.:(==)(α::Dict, x::RationalPoly) = false
2216
Base.:(==)(x::RationalPoly, α::Dict) = false
2317

@@ -133,16 +127,16 @@ Base.:(==)(p::RationalPoly, q::RationalPoly) = p.num * q.den == q.num * p.den
133127
# Solve ambiguity with (::PolyType, ::Any)
134128
Base.:(==)(p::_APL, q::RationalPoly) = p * q.den == q.num
135129
Base.:(==)(q::RationalPoly, p::_APL) = p == q
136-
Base.:(==)(α, q::RationalPoly) = α * q.den == q.num
137-
Base.:(==)(q::RationalPoly, α) = α == q
130+
Base.:(==)(α::Union{Number,MA.AbstractMutable,AbstractArray}, q::RationalPoly) = α * q.den == q.num
131+
Base.:(==)(q::RationalPoly, α::Union{Number,MA.AbstractMutable,AbstractArray}) = α == q
138132
function Base.isequal(p::RationalPoly, q::RationalPoly)
139133
return isequal(p.num * q.den, q.num * p.den)
140134
end
141135
# Solve ambiguity with (::PolyType, ::Any)
142136
Base.isequal(p::_APL, q::RationalPoly) = isequal(p * q.den, q.num)
143137
Base.isequal(q::RationalPoly, p::_APL) = isequal(p, q)
144-
Base.isequal(α, q::RationalPoly) = isequal* q.den, q.num)
145-
Base.isequal(q::RationalPoly, α) = isequal(α, q)
138+
Base.isequal::Union{Number,MA.AbstractMutable,AbstractArray}, q::RationalPoly) = isequal* q.den, q.num)
139+
Base.isequal(q::RationalPoly, α::Union{Number,MA.AbstractMutable,AbstractArray}) = isequal(α, q)
146140

147141
# α could be a JuMP affine expression
148142
isapproxzero(α; ztol::Real = 0.0) = false

src/operators.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,15 +32,15 @@ for (op, fun) in [
3232
(:*, :right_constant_mult),
3333
(:(==), :right_constant_eq),
3434
]
35-
@eval Base.$op(p::_APL, α) = $fun(p, α)
35+
@eval Base.$op(p::_APL, α::Union{Number,MA.AbstractMutable,AbstractArray}) = $fun(p, α)
3636
end
3737
for (op, fun) in [
3838
(:+, :left_constant_plus),
3939
(:-, :left_constant_minus),
4040
(:*, :left_constant_mult),
4141
(:(==), :left_constant_eq),
4242
]
43-
@eval Base.$op(α, p::_APL) = $fun(α, p)
43+
@eval Base.$op::Union{Number,MA.AbstractMutable,AbstractArray} , p::_APL) = $fun(α, p)
4444
end
4545
## Fix ambiguity between above methods and methods in MA
4646
Base.:+(::MA.Zero, p::_APL) = MA.copy_if_mutable(p)

0 commit comments

Comments
 (0)