@@ -65,9 +65,15 @@ Base.:/(A::AbstractArray, p::APL) = map(f -> f / p, A)
6565
6666constant_function (:: typeof (+ )) = plusconstant
6767constant_function (:: typeof (- )) = minusconstant
68- MA. operate! (op:: Union{typeof(+), typeof(-)} , p:: APL , α) = MA. operate! (constant_function (op), p, α)
68+ constant_function (:: typeof (* )) = multconstant
69+ MA. operate! (op:: Union{typeof(+), typeof(-), typeof(*)} , p:: APL , α) = MA. operate! (constant_function (op), p, α)
70+
71+ MA. operate! (op:: typeof (* ), α, p:: APL ) = MA. operate! (multconstant, α, p)
72+ MA. operate! (op:: typeof (* ), p:: APL , α) = MA. operate! (multconstant, p, α)
73+ MA. operate! (op:: typeof (/ ), p:: APL , α) = mapcoefficients! (Base. Fix2 (op, α), p)
6974MA. operate_to! (output:: AbstractPolynomial , op:: typeof (* ), α, p:: APL ) = MA. operate_to! (output, multconstant, α, p)
7075MA. operate_to! (output:: AbstractPolynomial , op:: typeof (* ), p:: APL , α) = MA. operate_to! (output, multconstant, p, α)
76+ MA. operate_to! (output:: APL , op:: typeof (/ ), p:: APL , α) = mapcoefficients_to! (output, Base. Fix2 (op, α), p)
7177
7278function polynomial_merge! (
7379 n1:: Int , n2:: Int , get1:: Function , get2:: Function ,
@@ -250,8 +256,7 @@ _multconstant(α, f, p::AbstractPolynomialLike) = _multconstant(α, f, polynomia
250256multconstant (α, p:: AbstractPolynomialLike ) = _multconstant (α, β -> α* β, p)
251257multconstant (p:: AbstractPolynomialLike , α) = _multconstant (α, β -> β* α, p)
252258
253- function mapcoefficientsnz_to! end
254-
259+ # TODO delete once DynamicPolynomials stops using it
255260function _multconstant_to! (output, α, f, p)
256261 if iszero (α)
257262 MA. operate! (zero, output)
@@ -260,10 +265,16 @@ function _multconstant_to!(output, α, f, p)
260265 end
261266end
262267function MA. operate_to! (output, :: typeof (multconstant), p:: APL , α)
263- _multconstant_to! (output, α, β -> β* α, p)
268+ return _multconstant_to! (output, α, β -> β* α, p)
264269end
265270function MA. operate_to! (output, :: typeof (multconstant), α, p:: APL )
266- _multconstant_to! (output, α, β -> α* β, p)
271+ return _multconstant_to! (output, α, β -> α* β, p)
272+ end
273+ function MA. operate! (:: typeof (multconstant), p:: APL , α)
274+ return mapcoefficients! (Base. Fix2 (* , α), p)
275+ end
276+ function MA. operate! (:: typeof (multconstant), α, p:: APL )
277+ return mapcoefficients! (Base. Fix1 (* , α), p)
267278end
268279
269280MA. operate_to! (output:: AbstractMonomial , :: typeof (* ), m1:: AbstractMonomialLike , m2:: AbstractMonomialLike ) = mapexponents_to! (output, + , m1, m2)
0 commit comments