Skip to content

Commit 082eea6

Browse files
committed
Don't deepcopy on identity map and broadcast
1 parent 2a714c8 commit 082eea6

File tree

4 files changed

+6
-10
lines changed

4 files changed

+6
-10
lines changed

src/array_of_similar_arrays.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -221,8 +221,8 @@ function deepmap(f::Base.Callable, A::ArrayOfSimilarArrays{T,M,N}) where {T,M,N}
221221
end
222222

223223

224-
Base.map(::typeof(identity), A::ArrayOfSimilarArrays) = deepcopy(A)
225-
Base.Broadcast.broadcasted(::typeof(identity), A::ArrayOfSimilarArrays) = deepcopy(A)
224+
Base.map(::typeof(identity), A::ArrayOfSimilarArrays) = A
225+
Base.Broadcast.broadcasted(::typeof(identity), A::ArrayOfSimilarArrays) = A
226226

227227

228228
Base.@pure _result_is_nested(idxs_outer::Tuple, idxs_inner::Tuple) =

src/vector_of_arrays.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -419,8 +419,8 @@ function deepmap(f::Base.Callable, A::VectorOfArrays)
419419
end
420420

421421

422-
Base.map(::typeof(identity), A::VectorOfArrays) = deepcopy(A)
423-
Base.Broadcast.broadcasted(::typeof(identity), A::VectorOfArrays) = deepcopy(A)
422+
Base.map(::typeof(identity), A::VectorOfArrays) = A
423+
Base.Broadcast.broadcasted(::typeof(identity), A::VectorOfArrays) = A
424424

425425

426426

test/array_of_similar_arrays.jl

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -359,9 +359,7 @@ using StatsBase: cov2cor
359359
A = nestedview(A_flat, 2)
360360

361361
for do_map in (map, broadcast)
362-
@test @inferred(do_map(identity, A)) == A
363-
do_map(identity, A) isa ArrayOfSimilarArrays
364-
@test do_map(identity, A) !== A
362+
@test @inferred(do_map(identity, A)) === A
365363
end
366364
end
367365
end

test/vector_of_arrays.jl

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -339,9 +339,7 @@ using ArraysOfArrays: full_consistency_checks, append_elemptr!, element_ptr
339339
A = VectorOfArrays(ref_AoA2(Float32, 4))
340340

341341
for do_map in (map, broadcast)
342-
@test @inferred(do_map(identity, A)) == A
343-
do_map(identity, A) isa VectorOfArrays
344-
@test do_map(identity, A) !== A
342+
@test @inferred(do_map(identity, A)) === A
345343
end
346344
end
347345
end

0 commit comments

Comments
 (0)