::typeof(op) -> op
This commit is contained in:
parent
a72ca2b05d
commit
b9fbee1ff0
26
src/utils.jl
26
src/utils.jl
|
@ -225,34 +225,34 @@ Base.copy(xs::Zeros{T,N}) where {T,N} = Zeros(T, size(xs)...)
|
|||
|
||||
# Define broadcasting behaviour
|
||||
for op in (:+, :-)
|
||||
@eval function broadcasted(::typeof($op), a::AbstractArray, b::Zeros)
|
||||
@eval function broadcasted($op, a::AbstractArray, b::Zeros)
|
||||
sz = similar(a, Broadcast.broadcast_shape(size(a), size(b)))
|
||||
sz .= a
|
||||
end
|
||||
end
|
||||
|
||||
broadcasted(::typeof(+), a::Zeros, b::AbstractArray) = broadcasted(+, b, a)
|
||||
broadcasted(::typeof(-), a::Zeros, b::AbstractArray) = broadcasted(+, -b, a)
|
||||
broadcasted(+, a::Zeros, b::AbstractArray) = broadcasted(+, b, a)
|
||||
broadcasted(-, a::Zeros, b::AbstractArray) = broadcasted(+, -b, a)
|
||||
|
||||
function broadcasted(::typeof(*), a::AbstractArray, b::Zeros)
|
||||
function broadcasted(*, a::AbstractArray, b::Zeros)
|
||||
sz = similar(a, Broadcast.broadcast_shape(size(a), size(b)))
|
||||
sz .= zero(a)
|
||||
end
|
||||
|
||||
broadcasted(::typeof(*), a::Zeros, b::AbstractArray) = broadcasted(*, b, a)
|
||||
broadcasted(*, a::Zeros, b::AbstractArray) = broadcasted(*, b, a)
|
||||
|
||||
for op in (:+, :-, :*)
|
||||
@eval broadcasted(::typeof($op), a::Zeros, b::Zeros) = Zeros(Broadcast.broadcast_shape(size(a), size(b))...)
|
||||
@eval broadcasted($op, a::Zeros, b::Zeros) = Zeros(Broadcast.broadcast_shape(size(a), size(b))...)
|
||||
end
|
||||
|
||||
# Some opportunities to avoid scalar indexing, intermediaries
|
||||
broadcasted(::typeof(+), a::AbstractArray, b::Zeros{T,0}) where T = a
|
||||
broadcasted(::typeof(+), a::Zeros{T,0}, b::AbstractArray) where T = b
|
||||
broadcasted(::typeof(-), a::AbstractArray, b::Zeros{T,0}) where T = a
|
||||
broadcasted(::typeof(-), a::Zeros{T,0}, b::AbstractArray) where T = -b
|
||||
broadcasted(::typeof(*), a::AbstractArray, b::Zeros{T,0}) where T = zero(a)
|
||||
broadcasted(::typeof(*), a::Zeros{T,0}, b::AbstractArray) where T = zero(b)
|
||||
broadcasted(::typeof(/), a::Zeros{T,0}, b::AbstractArray) where T = zero(b)
|
||||
broadcasted(+, a::AbstractArray, b::Zeros{T,0}) where T = a
|
||||
broadcasted(+, a::Zeros{T,0}, b::AbstractArray) where T = b
|
||||
broadcasted(-, a::AbstractArray, b::Zeros{T,0}) where T = a
|
||||
broadcasted(-, a::Zeros{T,0}, b::AbstractArray) where T = -b
|
||||
broadcasted(*, a::AbstractArray, b::Zeros{T,0}) where T = zero(a)
|
||||
broadcasted(*, a::Zeros{T,0}, b::AbstractArray) where T = zero(b)
|
||||
broadcasted(/, a::Zeros{T,0}, b::AbstractArray) where T = zero(b)
|
||||
|
||||
"""
|
||||
@jit ...
|
||||
|
|
Loading…
Reference in New Issue