Skip to content

Commit e74f124

Browse files
committed
Adding broadcaststridedpointer definition.
1 parent c01af6b commit e74f124

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

src/vectorizable.jl

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -387,6 +387,14 @@ end
387387
@inline stridedpointer(x) = Pointer(x)
388388
@inline stridedpointer(x::AbstractArray) = stridedpointer(parent(x))
389389
@inline stridedpointer(A::DenseArray) = PackedStridedPointer(pointer(A), Base.tail(strides(A)))
390+
@inline function broadcaststridedpointer(A::DenseArray{T,N}) where {T,N}
391+
stridesA = strides(A)
392+
sizeA = size(A)
393+
PackedStridedPointer(
394+
pointer(A),
395+
ntuple(n -> sizeA[n+1] == 1 ? 0 : stridesA[n+1], Val(N-1))
396+
)
397+
end
390398
@generated function stridedpointer(A::SubArray{T,N,P,S,B}) where {T,N,P,S,B}
391399
if first(S.parameters) <: Integer # nonunit stride 1
392400
quote

0 commit comments

Comments
 (0)