Skip to content

Commit 18cde7d

Browse files
committed
Provide "abstract" fallbacks
1 parent a83914e commit 18cde7d

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

src/MPoly.jl

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -488,6 +488,22 @@ function is_monomial(x::MPolyRingElem{T}) where T <: RingElement
488488
return length(x) == 1 && isone(first(coefficients(x)))
489489
end
490490

491+
function exponent_vector!(e::Vector{S}, a::MPolyRingElem{T}, i::Int) where {T <: RingElement, S}
492+
return S.(exponent_vector(a, i))
493+
end
494+
495+
function coeff!(c::T, a::MPolyRingElem{T}, i::Int) where {T <: RingElement}
496+
return coeff(a, i)
497+
end
498+
499+
function term!(t::T, a::T, i::Int) where {T <: MPolyRingElem}
500+
return term(a, i)
501+
end
502+
503+
function monomial!(m::T, a::T, i::Int) where {T <: MPolyRingElem}
504+
return monomial(a, i)
505+
end
506+
491507
###############################################################################
492508
#
493509
# Iterators

src/generic/imports.jl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@ import ..AbstractAlgebra: characteristic
107107
import ..AbstractAlgebra: check_parent
108108
import ..AbstractAlgebra: codomain
109109
import ..AbstractAlgebra: coeff
110+
import ..AbstractAlgebra: coeff!
110111
import ..AbstractAlgebra: coefficient_ring
111112
import ..AbstractAlgebra: coefficient_ring_type
112113
import ..AbstractAlgebra: coefficients
@@ -131,6 +132,7 @@ import ..AbstractAlgebra: elem_type
131132
import ..AbstractAlgebra: evaluate
132133
import ..AbstractAlgebra: exp
133134
import ..AbstractAlgebra: exponent_vectors
135+
import ..AbstractAlgebra: exponent_vector!
134136
import ..AbstractAlgebra: expressify
135137
import ..AbstractAlgebra: factor
136138
import ..AbstractAlgebra: factor_squarefree
@@ -178,6 +180,7 @@ import ..AbstractAlgebra: max_precision
178180
import ..AbstractAlgebra: minpoly
179181
import ..AbstractAlgebra: modulus
180182
import ..AbstractAlgebra: monomials
183+
import ..AbstractAlgebra: monomial!
181184
import ..AbstractAlgebra: mul!
182185
import ..AbstractAlgebra: mul_classical
183186
import ..AbstractAlgebra: mul_karatsuba
@@ -217,6 +220,7 @@ import ..AbstractAlgebra: symbols
217220
import ..AbstractAlgebra: tail
218221
import ..AbstractAlgebra: term_degree
219222
import ..AbstractAlgebra: terms
223+
import ..AbstractAlgebra: term!
220224
import ..AbstractAlgebra: terms_degrees
221225
import ..AbstractAlgebra: terse
222226
import ..AbstractAlgebra: to_univariate

0 commit comments

Comments
 (0)