Skip to content

Commit d8ecebe

Browse files
authored
Merge pull request #19672 from stevengj/no_elwise
remove obsolete performance workaround using broadcast_elwise_op
2 parents cf060e2 + f2ebd76 commit d8ecebe

File tree

2 files changed

+5
-6
lines changed

2 files changed

+5
-6
lines changed

base/linalg/diagonal.jl

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -141,8 +141,8 @@ end
141141
*{T<:Number}(x::T, D::Diagonal) = Diagonal(x * D.diag)
142142
*{T<:Number}(D::Diagonal, x::T) = Diagonal(D.diag * x)
143143
/{T<:Number}(D::Diagonal, x::T) = Diagonal(D.diag / x)
144-
*(Da::Diagonal, Db::Diagonal) = Diagonal(broadcast_elwise_op(*, Da.diag, Db.diag))
145-
*(D::Diagonal, V::AbstractVector) = broadcast_elwise_op(*, D.diag, V)
144+
*(Da::Diagonal, Db::Diagonal) = Diagonal(Da.diag .* Db.diag)
145+
*(D::Diagonal, V::AbstractVector) = D.diag .* V
146146

147147
(*)(A::AbstractTriangular, D::Diagonal) = A_mul_B!(copy(A), D)
148148
(*)(D::Diagonal, B::AbstractTriangular) = A_mul_B!(D, copy(B))
@@ -223,7 +223,7 @@ A_mul_B!(A::AbstractMatrix,B::Diagonal) = scale!(A,B.diag)
223223
A_mul_Bt!(A::AbstractMatrix,B::Diagonal) = scale!(A,B.diag)
224224
A_mul_Bc!(A::AbstractMatrix,B::Diagonal) = scale!(A,conj(B.diag))
225225

226-
/(Da::Diagonal, Db::Diagonal) = Diagonal(broadcast_elwise_op(/, Da.diag, Db.diag))
226+
/(Da::Diagonal, Db::Diagonal) = Diagonal(Da.diag ./ Db.diag)
227227
function A_ldiv_B!{T}(D::Diagonal{T}, v::AbstractVector{T})
228228
if length(v) != length(D.diag)
229229
throw(DimensionMismatch("diagonal matrix is $(length(D.diag)) by $(length(D.diag)) but right hand side has $(length(v)) rows"))
@@ -292,8 +292,8 @@ function A_ldiv_B!(D::Diagonal, B::StridedVecOrMat)
292292
return B
293293
end
294294
(\)(D::Diagonal, A::AbstractMatrix) = D.diag .\ A
295-
(\)(D::Diagonal, b::AbstractVector) = broadcast_elwise_op(\, D.diag, b)
296-
(\)(Da::Diagonal, Db::Diagonal) = Diagonal(broadcast_elwise_op(\, Da.diag, Db.diag))
295+
(\)(D::Diagonal, b::AbstractVector) = D.diag .\ b
296+
(\)(Da::Diagonal, Db::Diagonal) = Diagonal(Da.diag .\ Db.diag)
297297

298298
function inv{T}(D::Diagonal{T})
299299
Di = similar(D.diag, typeof(inv(zero(T))))

base/linalg/linalg.jl

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import Base: USE_BLAS64, abs, big, ceil, conj, convert, copy, copy!, copy_transp
1313
using Base: promote_op, _length, iszero
1414
# We use `_length` because of non-1 indices; releases after julia 0.5
1515
# can go back to `length`. `_length(A)` is equivalent to `length(linearindices(A))`.
16-
using Base.Broadcast: broadcast_elwise_op
1716

1817
export
1918
# Modules

0 commit comments

Comments
 (0)