@@ -546,7 +546,7 @@ copy_with_eltype(::Type{T}, p::P) where {T, S, Y, P <:AbstractPolynomial{S,Y}} =
546
546
# copy_with_eltype(::Type{T}, p::P) where {T, S, X, P<:AbstractPolynomial{S,X}} =
547
547
# copy_with_eltype(Val(T), Val(X), p)
548
548
549
- Base. iszero (p:: AbstractPolynomial ) = all (iszero, p )
549
+ Base. iszero (p:: AbstractPolynomial ) = all (iszero, values (p) )
550
550
551
551
552
552
# See discussions in https://github.com/JuliaMath/Polynomials.jl/issues/258
@@ -622,7 +622,7 @@ hasnan(x) = isnan(x)
622
622
623
623
Is the polynomial `p` a constant.
624
624
"""
625
- isconstant (p:: AbstractPolynomial ) = degree (p) <= 0
625
+ isconstant (p:: AbstractPolynomial ) = degree (p) <= 0 && iszero ( firstindex (p))
626
626
627
627
"""
628
628
coeffs(::AbstractPolynomial)
@@ -1152,7 +1152,7 @@ function Base.:(==)(p1::AbstractPolynomial, p2::AbstractPolynomial)
1152
1152
check_same_variable (p1, p2) || return false
1153
1153
== (promote (p1,p2)... )
1154
1154
end
1155
- Base.:(== )(p:: AbstractPolynomial , n:: Number ) = degree (p) <= 0 && constantterm (p) == n
1155
+ Base.:(== )(p:: AbstractPolynomial , n:: Number ) = isconstant (p) && constantterm (p) == n
1156
1156
Base.:(== )(n:: Number , p:: AbstractPolynomial ) = p == n
1157
1157
1158
1158
function Base. isapprox (p1:: AbstractPolynomial , p2:: AbstractPolynomial ; kwargs... )
0 commit comments