|
71 | 71 | similar{T}(S::SymTridiagonal, ::Type{T}) = SymTridiagonal{T}(similar(S.dv, T), similar(S.ev, T))
|
72 | 72 |
|
73 | 73 | #Elementary operations
|
74 |
| -for func in (:conj, :copy, :round, :trunc, :floor, :ceil, :abs, :real, :imag) |
| 74 | +broadcast(::typeof(floor), M::SymTridiagonal) = SymTridiagonal(floor.(M.dv), floor.(M.ev)) |
| 75 | +for func in (:conj, :copy, :round, :trunc, :ceil, :abs, :real, :imag) |
75 | 76 | @eval ($func)(M::SymTridiagonal) = SymTridiagonal(($func)(M.dv), ($func)(M.ev))
|
76 | 77 | end
|
77 |
| -for func in (:round, :trunc, :floor, :ceil) |
| 78 | +broadcast{T<:Integer}(::typeof(floor), ::Type{T}, M::SymTridiagonal) = SymTridiagonal(floor.(T, M.dv), floor.(T, M.ev)) |
| 79 | +for func in (:round, :trunc, :ceil) |
78 | 80 | @eval ($func){T<:Integer}(::Type{T},M::SymTridiagonal) = SymTridiagonal(($func)(T,M.dv), ($func)(T,M.ev))
|
79 | 81 | end
|
80 | 82 | transpose(M::SymTridiagonal) = M #Identity operation
|
@@ -388,12 +390,15 @@ end
|
388 | 390 | copy!(dest::Tridiagonal, src::Tridiagonal) = Tridiagonal(copy!(dest.dl, src.dl), copy!(dest.d, src.d), copy!(dest.du, src.du), copy!(dest.du2, src.du2))
|
389 | 391 |
|
390 | 392 | #Elementary operations
|
391 |
| -for func in (:conj, :copy, :round, :trunc, :floor, :ceil, :abs, :real, :imag) |
| 393 | +broadcast(::typeof(floor), M::Tridiagonal) = Tridiagonal(floor.(M.dl), floor.(M.d), floor.(M.du), floor.(M.du2)) |
| 394 | +for func in (:conj, :copy, :round, :trunc, :ceil, :abs, :real, :imag) |
392 | 395 | @eval function ($func)(M::Tridiagonal)
|
393 | 396 | Tridiagonal(($func)(M.dl), ($func)(M.d), ($func)(M.du), ($func)(M.du2))
|
394 | 397 | end
|
395 | 398 | end
|
396 |
| -for func in (:round, :trunc, :floor, :ceil) |
| 399 | +broadcast{T<:Integer}(::typeof(floor), ::Type{T}, M::Tridiagonal) = |
| 400 | + Tridiagonal(floor.(T, M.dl), floor.(T, M.d), floor.(T, M.du), floor.(T, M.du2)) |
| 401 | +for func in (:round, :trunc, :ceil) |
397 | 402 | @eval function ($func){T<:Integer}(::Type{T},M::Tridiagonal)
|
398 | 403 | Tridiagonal(($func)(T,M.dl), ($func)(T,M.d), ($func)(T,M.du), ($func)(T,M.du2))
|
399 | 404 | end
|
|
0 commit comments