@@ -170,9 +170,9 @@ In-place version of [`truncate`](@ref)
170
170
function truncate! (p:: AbstractPolynomial{T} ;
171
171
rtol:: Real = Base. rtoldefault (real (T)),
172
172
atol:: Real = 0 ,) where {T}
173
- max_coeff = maximum (abs, p . coeffs)
173
+ max_coeff = maximum (abs, coeffs (p) )
174
174
thresh = max_coeff * rtol + atol
175
- map! (c-> abs (c) <= thresh ? zero (T) : c, p . coeffs, p . coeffs)
175
+ map! (c-> abs (c) <= thresh ? zero (T) : c, coeffs (p), coeffs (p) )
176
176
return chop! (p, rtol = rtol, atol = atol)
177
177
end
178
178
@@ -286,14 +286,14 @@ Inspection =#
286
286
287
287
The length of the polynomial.
288
288
"""
289
- Base. length (p:: AbstractPolynomial ) = length (p . coeffs)
289
+ Base. length (p:: AbstractPolynomial ) = length (coeffs (p) )
290
290
"""
291
291
size(::AbstractPolynomial, [i])
292
292
293
293
Returns the size of the polynomials coefficients, along axis `i` if provided.
294
294
"""
295
- Base. size (p:: AbstractPolynomial ) = size (p . coeffs)
296
- Base. size (p:: AbstractPolynomial , i:: Integer ) = size (p . coeffs, i)
295
+ Base. size (p:: AbstractPolynomial ) = size (coeffs (p) )
296
+ Base. size (p:: AbstractPolynomial , i:: Integer ) = size (coeffs (p) , i)
297
297
Base. eltype (p:: AbstractPolynomial{T} ) where {T} = T
298
298
Base. eltype (:: Type{P} ) where {P <: AbstractPolynomial } = P
299
299
function Base. iszero (p:: AbstractPolynomial )
@@ -318,7 +318,7 @@ has a nonzero coefficient. The degree of the zero polynomial is defined to be -1
318
318
"""
319
319
degree (p:: AbstractPolynomial ) = iszero (p) ? - 1 : length (p) - 1
320
320
321
- hasnan (p:: AbstractPolynomial ) = any (isnan .(p . coeffs))
321
+ hasnan (p:: AbstractPolynomial ) = any (isnan .(coeffs (p) ))
322
322
323
323
"""
324
324
domain(::Type{<:AbstractPolynomial})
@@ -416,15 +416,15 @@ end
416
416
function Base. getindex (p:: AbstractPolynomial{T} , idx:: Int ) where {T <: Number }
417
417
idx < 0 && throw (BoundsError (p, idx))
418
418
idx ≥ length (p) && return zero (T)
419
- return p . coeffs[idx + 1 ]
419
+ return coeffs (p) [idx + 1 ]
420
420
end
421
421
Base. getindex (p:: AbstractPolynomial , idx:: Number ) = getindex (p, convert (Int, idx))
422
422
Base. getindex (p:: AbstractPolynomial , indices) = [getindex (p, i) for i in indices]
423
- Base. getindex (p:: AbstractPolynomial , :: Colon ) = p . coeffs
423
+ Base. getindex (p:: AbstractPolynomial , :: Colon ) = coeffs (p)
424
424
425
425
# setindex
426
426
function Base. setindex! (p:: AbstractPolynomial , value:: Number , idx:: Int )
427
- n = length (p . coeffs)
427
+ n = length (coeffs (p) )
428
428
if n ≤ idx
429
429
resize! (p. coeffs, idx + 1 )
430
430
p. coeffs[n + 1 : idx] .= 0
@@ -446,8 +446,8 @@ Base.setindex!(p::AbstractPolynomial, values, ::Colon) =
446
446
447
447
#=
448
448
identity =#
449
- Base. copy (p:: P ) where {P <: AbstractPolynomial } = P (copy (p . coeffs), p. var)
450
- Base. hash (p:: AbstractPolynomial , h:: UInt ) = hash (p. var, hash (p . coeffs, h))
449
+ Base. copy (p:: P ) where {P <: AbstractPolynomial } = P (copy (coeffs (p) ), p. var)
450
+ Base. hash (p:: AbstractPolynomial , h:: UInt ) = hash (p. var, hash (coeffs (p) , h))
451
451
"""
452
452
zero(::Type{<:AbstractPolynomial})
453
453
zero(::AbstractPolynomial)
@@ -467,19 +467,19 @@ Base.one(p::P) where {P <: AbstractPolynomial} = one(P)
467
467
468
468
#=
469
469
arithmetic =#
470
- Base.:- (p:: P ) where {P <: AbstractPolynomial } = P (- p . coeffs, p. var)
470
+ Base.:- (p:: P ) where {P <: AbstractPolynomial } = P (- coeffs (p) , p. var)
471
471
Base.:+ (c:: Number , p:: AbstractPolynomial ) = + (p, c)
472
472
Base.:- (p:: AbstractPolynomial , c:: Number ) = + (p, - c)
473
473
Base.:- (c:: Number , p:: AbstractPolynomial ) = + (- p, c)
474
474
Base.:* (c:: Number , p:: AbstractPolynomial ) = * (p, c)
475
475
476
476
function Base.:* (p:: P , c:: S ) where {P <: AbstractPolynomial ,S}
477
477
T = promote_type (P, S)
478
- return T (p . coeffs .* c, p. var)
478
+ return T (coeffs (p) .* c, p. var)
479
479
end
480
480
function Base.:/ (p:: P , c:: S ) where {T,P <: AbstractPolynomial{T} ,S}
481
481
R = promote_type (P, eltype (one (T) / one (S)))
482
- return R (p . coeffs ./ c, p. var)
482
+ return R (coeffs (p) ./ c, p. var)
483
483
end
484
484
Base.:- (p1:: AbstractPolynomial , p2:: AbstractPolynomial ) = + (p1, - p2)
485
485
@@ -547,8 +547,8 @@ Base.rem(n::AbstractPolynomial, d::AbstractPolynomial) = divrem(n, d)[2]
547
547
Comparisons =#
548
548
Base. isequal (p1:: P , p2:: P ) where {P <: AbstractPolynomial } = hash (p1) == hash (p2)
549
549
Base.:(== )(p1:: AbstractPolynomial , p2:: AbstractPolynomial ) =
550
- (p1. var == p2. var) && (p1 . coeffs == p2 . coeffs)
551
- Base.:(== )(p:: AbstractPolynomial , n:: Number ) = p . coeffs == [n]
550
+ (p1. var == p2. var) && (coeffs (p1) == coeffs (p2) )
551
+ Base.:(== )(p:: AbstractPolynomial , n:: Number ) = coeffs (p) == [n]
552
552
Base.:(== )(n:: Number , p:: AbstractPolynomial ) = p == n
553
553
554
554
function Base. isapprox (p1:: AbstractPolynomial{T} ,
@@ -564,7 +564,7 @@ function Base.isapprox(p1::AbstractPolynomial{T},
564
564
if length (p1t) ≠ length (p2t)
565
565
return false
566
566
end
567
- isapprox (p1t . coeffs, p2t . coeffs, rtol = rtol, atol = atol)
567
+ isapprox (coeffs (p1t), coeffs (p2t) , rtol = rtol, atol = atol)
568
568
end
569
569
570
570
function Base. isapprox (p1:: AbstractPolynomial{T} ,
@@ -575,7 +575,7 @@ function Base.isapprox(p1::AbstractPolynomial{T},
575
575
if length (p1t) != 1
576
576
return false
577
577
end
578
- isapprox (p1t . coeffs, [n], rtol = rtol, atol = atol)
578
+ isapprox (coeffs (p1t) , [n], rtol = rtol, atol = atol)
579
579
end
580
580
581
581
Base. isapprox (n:: S ,
0 commit comments