Skip to content

Commit 7e010cd

Browse files
committed
Implement mapexponents!
1 parent c9bc2fb commit 7e010cd

File tree

1 file changed

+7
-8
lines changed

1 file changed

+7
-8
lines changed

src/operators.jl

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -130,14 +130,13 @@ function MP.mapexponents(op, m1::M, m2::M) where M<:Monomial
130130
M(map(op, m1.exponents, m2.exponents))
131131
end
132132
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
141140

142141
function MA.mutable_operate_to!(output::Polynomial, ::typeof(*), p::Polynomial, q::Polynomial)
143142
empty!(output.terms)

0 commit comments

Comments
 (0)