@@ -130,14 +130,13 @@ function MP.mapexponents(op, m1::M, m2::M) where M<:Monomial
130
130
M (map (op, m1. exponents, m2. exponents))
131
131
end
132
132
MP. mapexponents (op, m1:: Monomial , m2:: Monomial ) = mapexponents (op, promote (m1, m2)... )
133
- # function MP.mapexponents_to!(output::M, op, m1::M, m2::M) where M<:Monomial
134
- # map!(op, output.exponents, m1.exponents, m2.exponents)
135
- # return output
136
- # end
137
- # function MP.mapexponents!(op, m1::M, m2::M) where M<:Monomial
138
- # map!(op, m1.exponents, m1.exponents, m2.exponents)
139
- # return m1
140
- # end
133
+ # We cannot mutate `m1` as tuples are immutables.
134
+ function MP. mapexponents_to! (:: Monomial , op:: F , m1:: Monomial , m2:: Monomial ) where {F<: Function }
135
+ return MP. mapexponents (op, m1, m2)
136
+ end
137
+ function MP. mapexponents! (op:: F , m1:: Monomial , m2:: Monomial ) where {F<: Function }
138
+ return MP. mapexponents (op, m1, m2)
139
+ end
141
140
142
141
function MA. mutable_operate_to! (output:: Polynomial , :: typeof (* ), p:: Polynomial , q:: Polynomial )
143
142
empty! (output. terms)
0 commit comments