@@ -34,15 +34,15 @@ MA.mutable_copy(p::Polynomial{C, T}) where {C, T} = Polynomial{C, T}(MA.mutable_
34
34
Base. copy (p:: Polynomial ) = MA. mutable_copy (p)
35
35
Base. zero (:: Type{Polynomial{C, T}} ) where {C, T} = Polynomial (T[], MonomialVector {C} ())
36
36
Base. one (:: Type{Polynomial{C, T}} ) where {C, T} = Polynomial ([one (T)], MonomialVector {C} (PolyVar{C}[], [Int[]]))
37
- Base. zero (p:: Polynomial{C, T} ) where {C, T} = Polynomial (T[], emptymonovec (copy (_vars (p))))
37
+ Base. zero (p:: Polynomial{C, T} ) where {C, T} = Polynomial (T[], empty_monomial_vector (copy (_vars (p))))
38
38
Base. one (p:: Polynomial{C, T} ) where {C, T} = Polynomial ([one (T)], MonomialVector (copy (_vars (p)), [zeros (Int, nvariables (p))]))
39
39
40
40
Polynomial {C, T} (a:: AbstractVector , x:: MonomialVector ) where {C, T} = Polynomial {C, T} (Vector {T} (a), x)
41
- Polynomial {C, T} (a:: AbstractVector , X:: DMonoVec ) where {C, T} = Polynomial {C, T} (monovec (a, X)... )
41
+ Polynomial {C, T} (a:: AbstractVector , X:: Dmonomial_vector ) where {C, T} = Polynomial {C, T} (monomial_vector (a, X)... )
42
42
Polynomial {C} (a:: Vector{T} , x) where {C, T} = Polynomial {C, T} (a, x)
43
- Polynomial (af:: Union{Function, Vector} , x:: DMonoVec {C} ) where {C} = Polynomial {C} (af, x)
43
+ Polynomial (af:: Union{Function, Vector} , x:: Dmonomial_vector {C} ) where {C} = Polynomial {C} (af, x)
44
44
45
- # TODO Remove with MP v0.2.8
45
+ # This is called by the default implementation of `Base.oneunit`, still in Julia v1.8 at least
46
46
Polynomial {C, T} (p:: Polynomial{C, T} ) where {C, T} = p
47
47
48
48
Base. convert (:: Type{Polynomial{C, T}} , p:: Polynomial{C, T} ) where {C, T} = p
@@ -72,7 +72,7 @@ function Polynomial{C, T}(f::Function, x::MonomialVector{C}) where {C, T}
72
72
Polynomial {C, T} (a, x)
73
73
end
74
74
function Polynomial {C, T} (f:: Function , x:: AbstractVector ) where {C, T}
75
- σ, X = sortmonovec (x)
75
+ σ, X = sort_monomial_vector (x)
76
76
a = T[f (i) for i in σ]
77
77
if length (x) > length (X)
78
78
rev = Dict (X[j] => j for j in eachindex (σ))
@@ -90,8 +90,8 @@ Polynomial{C}(f::Function, x) where {C} = Polynomial{C, Base.promote_op(f, Int)}
90
90
# Base.convert(::Type{PolyType{C}}, p::TermContainer{C}) where {C} = p
91
91
92
92
# needed to build [p Q; Q p] where p is a polynomial and Q is a matpolynomial in Julia v0.5
93
- # Base.convert(::Type{TermType {C}}, p::TermContainer{C}) where {C} = p
94
- # Base.convert(::Type{TermType {C, T}}, p::TermContainer{C, T}) where {C, T} = p
93
+ # Base.convert(::Type{term_type {C}}, p::TermContainer{C}) where {C} = p
94
+ # Base.convert(::Type{term_type {C, T}}, p::TermContainer{C, T}) where {C, T} = p
95
95
96
96
Base. length (p:: Polynomial ) = length (p. a)
97
97
Base. isempty (p:: Polynomial ) = isempty (p. a)
@@ -128,19 +128,19 @@ MP.extdegree(p::Polynomial) = extdegree(p.x)
128
128
MP. mindegree (p:: Polynomial ) = mindegree (p. x)
129
129
MP. maxdegree (p:: Polynomial ) = maxdegree (p. x)
130
130
131
- MP. leadingcoefficient (p:: Polynomial{C, T} ) where {C, T} = iszero (p) ? zero (T) : last (p. a)
132
- MP. leadingmonomial (p:: Polynomial ) = iszero (p) ? constantmonomial (p) : last (p. x)
133
- MP. leadingterm (p:: Polynomial ) = iszero (p) ? zeroterm (p) : last (terms (p))
131
+ MP. leading_coefficient (p:: Polynomial{C, T} ) where {C, T} = iszero (p) ? zero (T) : last (p. a)
132
+ MP. leading_monomial (p:: Polynomial ) = iszero (p) ? constant_monomial (p) : last (p. x)
133
+ MP. leading_term (p:: Polynomial ) = iszero (p) ? zero_term (p) : last (terms (p))
134
134
135
- function MP. removeleadingterm (p:: Polynomial )
135
+ function MP. remove_leading_term (p:: Polynomial )
136
136
Polynomial (p. a[1 : end - 1 ], p. x[1 : end - 1 ])
137
137
end
138
- function MA. operate! (:: typeof (MP. removeleadingterm ), p:: Polynomial )
138
+ function MA. operate! (:: typeof (MP. remove_leading_term ), p:: Polynomial )
139
139
pop! (p. a)
140
140
pop! (p. x)
141
141
return p
142
142
end
143
- function MP. removemonomials (p:: Polynomial , x:: MonomialVector )
143
+ function MP. remove_monomials (p:: Polynomial , x:: MonomialVector )
144
144
# use the fact that monomials are sorted to do this O(n) instead of O(n^2)
145
145
j = 1
146
146
I = Int[]
@@ -154,7 +154,7 @@ function MP.removemonomials(p::Polynomial, x::MonomialVector)
154
154
end
155
155
Polynomial (p. a[I], p. x[I])
156
156
end
157
- MP. removemonomials (p:: Polynomial , x:: Vector ) = removemonomials (p, MonomialVector (x))
157
+ MP. remove_monomials (p:: Polynomial , x:: Vector ) = remove_monomials (p, MonomialVector (x))
158
158
159
159
function _remove_zeros! (p:: Polynomial )
160
160
zeroidx = Int[]
@@ -201,8 +201,8 @@ function polynomialclean_to!(p::Polynomial{C, T}, vars::Vector{PolyVar{C}}, adup
201
201
return p
202
202
end
203
203
204
- MP. polynomial! (a:: Vector , x:: DMonoVec , :: MP.ListState ) = Polynomial (a, x)
205
- MP. polynomial (a:: AbstractVector , x:: DMonoVec , s:: MP.ListState ) = MP. polynomial! (collect (a), MA. mutable_copy (x), s)
204
+ MP. polynomial! (a:: Vector , x:: Dmonomial_vector , :: MP.ListState ) = Polynomial (a, x)
205
+ MP. polynomial (a:: AbstractVector , x:: Dmonomial_vector , s:: MP.ListState ) = MP. polynomial! (collect (a), MA. mutable_copy (x), s)
206
206
207
207
# MP.polynomial(f::Function, x::AbstractVector) = Polynomial(f, x)
208
208
# MP.polynomial(ts::AbstractVector{Term{C, T}}) where {C, T} = Polynomial(coefficient.(ts), monomial.(ts)) # FIXME invalid age range update
@@ -251,7 +251,7 @@ function MP.polynomial(Q::AbstractMatrix, mv::MonomialVector{C}, ::Type{T}) wher
251
251
end
252
252
end
253
253
end
254
- a, X = monovec (a, x)
254
+ a, X = monomial_vector (a, x)
255
255
v = _vars (X)
256
256
Z = X. Z
257
257
end
@@ -277,22 +277,22 @@ function MA.operate!(::typeof(one), p::Polynomial{C, T}) where {C, T}
277
277
return p
278
278
end
279
279
280
- function MP. mapcoefficients (f:: Function , p:: Polynomial ; nonzero = false )
280
+ function MP. map_coefficients (f:: Function , p:: Polynomial ; nonzero = false )
281
281
return Polynomial (map (f, p. a), MA. mutable_copy (p. x))
282
282
end
283
283
284
- function MP. mapcoefficients ! (f:: Function , p:: Polynomial ; nonzero = false )
284
+ function MP. map_coefficients ! (f:: Function , p:: Polynomial ; nonzero = false )
285
285
map! (f, p. a, p. a)
286
286
if ! nonzero
287
287
_remove_zeros! (p)
288
288
end
289
289
return p
290
290
end
291
291
292
- function MP. mapcoefficients_to ! (output:: Polynomial , f:: Function , t:: MP.AbstractTermLike ; nonzero = false )
293
- return MP. mapcoefficients_to ! (output, f, polynomial (t); nonzero = nonzero)
292
+ function MP. map_coefficients_to ! (output:: Polynomial , f:: Function , t:: MP.AbstractTermLike ; nonzero = false )
293
+ return MP. map_coefficients_to ! (output, f, polynomial (t); nonzero = nonzero)
294
294
end
295
- function MP. mapcoefficients_to ! (output:: Polynomial , f:: Function , p:: Polynomial ; nonzero = false )
295
+ function MP. map_coefficients_to ! (output:: Polynomial , f:: Function , p:: Polynomial ; nonzero = false )
296
296
resize! (output. a, length (p. a))
297
297
map! (f, output. a, p. a)
298
298
Future. copy! (output. x. vars, p. x. vars)
@@ -307,11 +307,11 @@ function MP.mapcoefficients_to!(output::Polynomial, f::Function, p::Polynomial;
307
307
return output
308
308
end
309
309
310
- function MP. mapexponents (f:: Function , p:: Polynomial , m:: DMonomialLike )
311
- return Polynomial (MA. mutable_copy (p. a), MP. mapexponents (f, p. x, m))
310
+ function MP. map_exponents (f:: Function , p:: Polynomial , m:: DMonomialLike )
311
+ return Polynomial (MA. mutable_copy (p. a), MP. map_exponents (f, p. x, m))
312
312
end
313
313
314
- function MP. mapexponents ! (f:: Function , p:: Polynomial , m:: DMonomialLike )
315
- MP. mapexponents ! (f, p. x, m)
314
+ function MP. map_exponents ! (f:: Function , p:: Polynomial , m:: DMonomialLike )
315
+ MP. map_exponents ! (f, p. x, m)
316
316
return p
317
317
end
0 commit comments