@@ -65,9 +65,9 @@ Base.:/(A::AbstractArray, p::APL) = map(f -> f / p, A)
6565
6666constant_function (:: typeof (+ )) = plusconstant
6767constant_function (:: typeof (- )) = minusconstant
68- MA. mutable_operate ! (op:: Union{typeof(+), typeof(-)} , p:: APL , α) = MA. mutable_operate ! (constant_function (op), p, α)
69- MA. mutable_operate_to ! (output:: AbstractPolynomial , op:: typeof (* ), α, p:: APL ) = MA. mutable_operate_to ! (output, multconstant, α, p)
70- MA. mutable_operate_to ! (output:: AbstractPolynomial , op:: typeof (* ), p:: APL , α) = MA. mutable_operate_to ! (output, multconstant, p, α)
68+ MA. operate ! (op:: Union{typeof(+), typeof(-)} , p:: APL , α) = MA. operate ! (constant_function (op), p, α)
69+ MA. operate_to ! (output:: AbstractPolynomial , op:: typeof (* ), α, p:: APL ) = MA. operate_to ! (output, multconstant, α, p)
70+ MA. operate_to ! (output:: AbstractPolynomial , op:: typeof (* ), p:: APL , α) = MA. operate_to ! (output, multconstant, p, α)
7171
7272function polynomial_merge! (
7373 n1:: Int , n2:: Int , get1:: Function , get2:: Function ,
@@ -186,8 +186,8 @@ function polynomial_merge!(
186186end
187187
188188
189- # MA.mutable_operate !(op::Union{typeof(+), typeof(-)}, p::AbstractPolynomial, q::AbstractPolynomial) = MA.mutable_operate_to !(p, op, p, q)
190- MA. mutable_operate ! (op:: Union{typeof(+), typeof(-)} , p:: AbstractPolynomial , q:: AbstractPolynomialLike ) = MA. mutable_operate ! (op, p, polynomial (q))
189+ # MA.operate !(op::Union{typeof(+), typeof(-)}, p::AbstractPolynomial, q::AbstractPolynomial) = MA.operate_to !(p, op, p, q)
190+ MA. operate ! (op:: Union{typeof(+), typeof(-)} , p:: AbstractPolynomial , q:: AbstractPolynomialLike ) = MA. operate ! (op, p, polynomial (q))
191191
192192function mul_to_terms! (ts:: Vector{<:AbstractTerm} , p1:: APL , p2:: APL )
193193 for t1 in terms (p1)
@@ -218,17 +218,17 @@ Base.:*(p::Union{APL, RationalPoly}) = p
218218# Need to add polynomial conversion for type stability
219219plusconstant (p:: APL{S} , α:: T ) where {S, T} = iszero (α) ? polynomial ( p, MA. promote_operation (+ , S, T)) : p + constantterm (α, p)
220220plusconstant (α:: S , p:: APL{T} ) where {S, T} = iszero (α) ? polynomial ( p, MA. promote_operation (+ , S, T)) : constantterm (α, p) + p
221- function MA. mutable_operate ! (:: typeof (plusconstant), p:: APL , α)
221+ function MA. operate ! (:: typeof (plusconstant), p:: APL , α)
222222 if ! iszero (α)
223- MA. mutable_operate ! (+ , p, constantterm (α, p))
223+ MA. operate ! (+ , p, constantterm (α, p))
224224 end
225225 return p
226226end
227227minusconstant (p:: APL{S} , α:: T ) where {S, T} = iszero (α) ? polynomial ( p, MA. promote_operation (- , S, T)) : p - constantterm (α, p)
228228minusconstant (α:: S , p:: APL{T} ) where {S, T} = iszero (α) ? polynomial (- p, MA. promote_operation (- , S, T)) : constantterm (α, p) - p
229- function MA. mutable_operate ! (:: typeof (minusconstant), p:: APL , α)
229+ function MA. operate ! (:: typeof (minusconstant), p:: APL , α)
230230 if ! iszero (α)
231- MA. mutable_operate ! (- , p, constantterm (α, p))
231+ MA. operate ! (- , p, constantterm (α, p))
232232 end
233233 return p
234234end
@@ -254,20 +254,20 @@ function mapcoefficientsnz_to! end
254254
255255function _multconstant_to! (output, α, f, p)
256256 if iszero (α)
257- MA. mutable_operate ! (zero, output)
257+ MA. operate ! (zero, output)
258258 else
259259 mapcoefficientsnz_to! (output, f, p)
260260 end
261261end
262- function MA. mutable_operate_to ! (output, :: typeof (multconstant), p:: APL , α)
262+ function MA. operate_to ! (output, :: typeof (multconstant), p:: APL , α)
263263 _multconstant_to! (output, α, β -> β* α, p)
264264end
265- function MA. mutable_operate_to ! (output, :: typeof (multconstant), α, p:: APL )
265+ function MA. operate_to ! (output, :: typeof (multconstant), α, p:: APL )
266266 _multconstant_to! (output, α, β -> α* β, p)
267267end
268268
269- MA. mutable_operate_to ! (output:: AbstractMonomial , :: typeof (* ), m1:: AbstractMonomialLike , m2:: AbstractMonomialLike ) = mapexponents_to! (output, + , m1, m2)
270- MA. mutable_operate ! (:: typeof (* ), m1:: AbstractMonomial , m2:: AbstractMonomialLike ) = mapexponents! (+ , m1, m2)
269+ MA. operate_to ! (output:: AbstractMonomial , :: typeof (* ), m1:: AbstractMonomialLike , m2:: AbstractMonomialLike ) = mapexponents_to! (output, + , m1, m2)
270+ MA. operate ! (:: typeof (* ), m1:: AbstractMonomial , m2:: AbstractMonomialLike ) = mapexponents! (+ , m1, m2)
271271Base.:* (m1:: AbstractMonomialLike , m2:: AbstractMonomialLike ) = mapexponents (+ , m1, m2)
272272# Base.:*(m1::AbstractMonomialLike, m2::AbstractMonomialLike) = *(monomial(m1), monomial(m2))
273273
@@ -354,18 +354,18 @@ Base.vec(vars::Tuple{Vararg{AbstractVariable}}) = [vars...]
354354# https://github.com/JuliaLang/julia/pull/23332
355355Base.:^ (x:: AbstractPolynomialLike , p:: Integer ) = Base. power_by_squaring (x, p)
356356
357- function MA. mutable_operate_to ! (output:: AbstractPolynomial , op:: MA.AddSubMul , x, args:: Vararg{Any, N} ) where N
358- return MA. mutable_operate_to ! (output, MA. add_sub_op (op), x, * (args... ))
357+ function MA. operate_to ! (output:: AbstractPolynomial , op:: MA.AddSubMul , x, args:: Vararg{Any, N} ) where N
358+ return MA. operate_to ! (output, MA. add_sub_op (op), x, * (args... ))
359359end
360- function MA. mutable_operate ! (op:: MA.AddSubMul , x:: AbstractPolynomial , y, z, args:: Vararg{Any, N} ) where N
361- return MA. mutable_operate ! (MA. add_sub_op (op), x, * (y, z, args... ))
360+ function MA. operate ! (op:: MA.AddSubMul , x:: AbstractPolynomial , y, z, args:: Vararg{Any, N} ) where N
361+ return MA. operate ! (MA. add_sub_op (op), x, * (y, z, args... ))
362362end
363363MA. buffer_for (:: MA.AddSubMul , :: Type{<:AbstractPolynomial} , args:: Vararg{Type, N} ) where {N} = zero (MA. promote_operation (* , args... ))
364- function MA. mutable_buffered_operate_to ! (buffer:: AbstractPolynomial , output:: AbstractPolynomial , op:: MA.AddSubMul , x:: AbstractPolynomial , y, z, args:: Vararg{Any, N} ) where N
365- product = MA. operate_to! (buffer, * , y, z, args... )
366- return MA. mutable_operate_to ! (output, MA. add_sub_op (op), x, product)
364+ function MA. buffered_operate_to ! (buffer:: AbstractPolynomial , output:: AbstractPolynomial , op:: MA.AddSubMul , x:: AbstractPolynomial , y, z, args:: Vararg{Any, N} ) where N
365+ product = MA. operate_to!! (buffer, * , y, z, args... )
366+ return MA. operate_to ! (output, MA. add_sub_op (op), x, product)
367367end
368- function MA. mutable_buffered_operate ! (buffer:: AbstractPolynomial , op:: MA.AddSubMul , x:: AbstractPolynomial , y, z, args:: Vararg{Any, N} ) where N
369- product = MA. operate_to! (buffer, * , y, z, args... )
370- return MA. mutable_operate ! (MA. add_sub_op (op), x, product)
368+ function MA. buffered_operate ! (buffer:: AbstractPolynomial , op:: MA.AddSubMul , x:: AbstractPolynomial , y, z, args:: Vararg{Any, N} ) where N
369+ product = MA. operate_to!! (buffer, * , y, z, args... )
370+ return MA. operate ! (MA. add_sub_op (op), x, product)
371371end
0 commit comments