Skip to content

Commit 81a491c

Browse files
committed
remove extraneous "collect" methods, rely on abstractVector instead
1 parent 08cabe7 commit 81a491c

File tree

2 files changed

+6
-13
lines changed

2 files changed

+6
-13
lines changed

src/abstract.jl

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ macro register(name)
3131
$poly(n::Number, var = :x) = $poly([n], var)
3232
$poly{T}(n::S, var = :x) where {T,S <: Number} = $poly(T(n), var)
3333
$poly{T}(x::AbstractVector{S}, var = :x) where {T,S <: Number} = $poly(T.(x), var)
34-
$poly(x, var = :x) = $poly(collect(x), var)
3534

3635
end
3736
end

src/common.jl

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ function fromroots(P::Type{<:AbstractPolynomial}, roots::AbstractVector; var::Sy
3838
return truncate!(reduce(*, p))
3939
end
4040
fromroots(r::AbstractVector{<:Number}; var::SymbolLike = :x) = fromroots(Polynomial, r, var = var)
41-
fromroots(r; var::SymbolLike = :x) = fromroots(collect(r), var = var)
4241

4342
"""
4443
fromroots(::AbstractMatrix{<:Number}; var=:x)
@@ -66,7 +65,7 @@ Fit the given data as a polynomial type with the given degree. Uses linear least
6665
function fit(P::Type{<:AbstractPolynomial},
6766
x::AbstractVector{T},
6867
y::AbstractVector{T};
69-
weights = nothing, deg::Integer = length(x) - 1, var = :x) where {T <: Number}
68+
weights = nothing, deg::Integer = length(x) - 1, var = :x) where {T}
7069
x = mapdomain(P, x)
7170
vand = vander(P, x, deg)
7271
if weights !== nothing
@@ -77,17 +76,12 @@ function fit(P::Type{<:AbstractPolynomial},
7776
return P(T.(coeffs), var)
7877
end
7978

80-
fit(x, y; weights = nothing, deg = length(x) - 1, var = :x) = fit(Polynomial{eltype(y)}, collect(x), collect(y); weights = weights, deg = deg, var = var)
79+
fit(P::Type{<:AbstractPolynomial}, x, y;
80+
weights = nothing, deg::Integer = length(x) - 1, var = :x) = fit(P, promote(collect(x), collect(y))...; weights=weights, deg=deg, var=var)
8181

82-
fit(P::Type{<:AbstractPolynomial}, x, y; weights = nothing, deg = length(x) - 1, var = :x) = fit(P, collect(x), collect(y); weights = weights, deg = deg, var = var)
83-
84-
function fit(P::Type{<:AbstractPolynomial},
85-
x::AbstractVector{T},
86-
y::AbstractVector{S};
87-
weights = nothing, deg = length(x) - 1, var = :x) where {T,S}
88-
x, y = promote(x, y)
89-
fit(P, x, y; weights = weights, deg = deg, var = var)
90-
end
82+
fit(x::AbstractVector,
83+
y::AbstractVector;
84+
weights = nothing, deg::Integer = length(x) - 1, var = :x) = fit(Polynomial, x, y; weights=weights, deg=deg, var=var)
9185

9286
# Weighted linear least squares
9387
_wlstsq(vand, y, W::Number) = _wlstsq(vand, y, fill!(similar(y), W))

0 commit comments

Comments
 (0)