@@ -59,7 +59,7 @@ p + q # ERROR: Polynomials must have same variable.
59
59
immutable Poly{T}
60
60
a:: Vector{T}
61
61
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 )
63
63
# if a == [] we replace it with a = [0]
64
64
if length (a) == 0
65
65
return new {T} (zeros (T,1 ), @compat Symbol (var))
@@ -72,7 +72,7 @@ immutable Poly{T}
72
72
end
73
73
74
74
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 ) =
76
76
Poly (convert (Vector{T}, x), var)
77
77
78
78
# 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
110
110
convert {T, S<:Number} (:: Type{Poly{T}} , x:: AbstractArray{S} , var:: SymbolLike = :x ) = map (el-> Poly (T[el],var), x)
111
111
promote_rule {T, S} (:: Type{Poly{T}} , :: Type{Poly{S}} ) = Poly{promote_type (T, S)}
112
112
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}
114
114
115
115
"""
116
116
0 commit comments