Skip to content

Commit 0da3d97

Browse files
authored
Merge pull request #108 from jverzani/eltype
Eltype,
2 parents e636b1f + 38c17b3 commit 0da3d97

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

src/Polynomials.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ p + q # ERROR: Polynomials must have same variable.
5959
immutable Poly{T}
6060
a::Vector{T}
6161
var::Symbol
62-
@compat function (::Type{Poly}){T<:Number}(a::Vector{T}, var::SymbolLike = :x)
62+
@compat function (::Type{Poly}){T<:Number}(a::AbstractVector{T}, var::SymbolLike = :x)
6363
# if a == [] we replace it with a = [0]
6464
if length(a) == 0
6565
return new{T}(zeros(T,1), @compat Symbol(var))
@@ -72,7 +72,7 @@ immutable Poly{T}
7272
end
7373

7474
Poly(n::Number, var::SymbolLike = :x) = Poly([n], var)
75-
@compat (::Type{Poly{T}}){T,S}(x::Vector{S}, var::SymbolLike = :x) =
75+
@compat (::Type{Poly{T}}){T,S}(x::AbstractVector{S}, var::SymbolLike = :x) =
7676
Poly(convert(Vector{T}, x), var)
7777

7878
# create a Poly object from its roots
@@ -110,7 +110,7 @@ convert{T, S<:Number}(::Type{Poly{T}}, x::S, var::SymbolLike=:x) = Poly(T[x], va
110110
convert{T, S<:Number}(::Type{Poly{T}}, x::AbstractArray{S}, var::SymbolLike=:x) = map(el->Poly(T[el],var), x)
111111
promote_rule{T, S}(::Type{Poly{T}}, ::Type{Poly{S}}) = Poly{promote_type(T, S)}
112112
promote_rule{T, S<:Number}(::Type{Poly{T}}, ::Type{S}) = Poly{promote_type(T, S)}
113-
eltype{T}(::Poly{T}) = T
113+
eltype{T}(::Poly{T}) = Poly{T}
114114

115115
"""
116116

test/runtests.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -324,3 +324,4 @@ for term in p1
324324
end
325325

326326
@test eltype(typeof(p1)) == typeof(p1)
327+
@test length(collect(p1)) == degree(p1)+1

0 commit comments

Comments
 (0)