@@ -97,10 +97,12 @@ similar{T}(S::SymTridiagonal, ::Type{T}) = SymTridiagonal{T}(similar(S.dv, T), s
97
97
98
98
# Elementary operations
99
99
broadcast (:: typeof (abs), M:: SymTridiagonal ) = SymTridiagonal (abs .(M. dv), abs .(M. ev))
100
- for func in (:conj , :copy , :round , :trunc , :floor , :ceil , :real , :imag )
100
+ broadcast (:: typeof (trunc), M:: SymTridiagonal ) = SymTridiagonal (trunc .(M. dv), trunc .(M. ev))
101
+ for func in (:conj , :copy , :round , :floor , :ceil , :real , :imag )
101
102
@eval ($ func)(M:: SymTridiagonal ) = SymTridiagonal (($ func)(M. dv), ($ func)(M. ev))
102
103
end
103
- for func in (:round , :trunc , :floor , :ceil )
104
+ broadcast {T<:Integer} (:: typeof (trunc), :: Type{T} , M:: SymTridiagonal ) = SymTridiagonal (trunc .(T, M. dv), trunc .(T, M. ev))
105
+ for func in (:round , :floor , :ceil )
104
106
@eval ($ func){T<: Integer }(:: Type{T} ,M:: SymTridiagonal ) = SymTridiagonal (($ func)(T,M. dv), ($ func)(T,M. ev))
105
107
end
106
108
transpose (M:: SymTridiagonal ) = M # Identity operation
@@ -464,12 +466,15 @@ copy!(dest::Tridiagonal, src::Tridiagonal) = Tridiagonal(copy!(dest.dl, src.dl),
464
466
465
467
# Elementary operations
466
468
broadcast (:: typeof (abs), M:: Tridiagonal ) = Tridiagonal (abs .(M. dl), abs .(M. d), abs .(M. du), abs .(M. du2))
467
- for func in (:conj , :copy , :round , :trunc , :floor , :ceil , :real , :imag )
469
+ broadcast (:: typeof (trunc), M:: Tridiagonal ) = Tridiagonal (trunc .(M. dl), trunc .(M. d), trunc .(M. du), trunc .(M. du2))
470
+ for func in (:conj , :copy , :round , :floor , :ceil , :real , :imag )
468
471
@eval function ($ func)(M:: Tridiagonal )
469
472
Tridiagonal (($ func)(M. dl), ($ func)(M. d), ($ func)(M. du), ($ func)(M. du2))
470
473
end
471
474
end
472
- for func in (:round , :trunc , :floor , :ceil )
475
+ broadcast {T<:Integer} (:: typeof (trunc), :: Type{T} , M:: Tridiagonal ) =
476
+ Tridiagonal (trunc .(T, M. dl), trunc .(T, M. d), trunc .(T, M. du), trunc .(T, M. du2))
477
+ for func in (:round , :floor , :ceil )
473
478
@eval function ($ func){T<: Integer }(:: Type{T} ,M:: Tridiagonal )
474
479
Tridiagonal (($ func)(T,M. dl), ($ func)(T,M. d), ($ func)(T,M. du), ($ func)(T,M. du2))
475
480
end
0 commit comments