Skip to content

Commit 3d55528

Browse files
committed
Special case flatten of iterators of static arrays
1 parent 8609799 commit 3d55528

File tree

2 files changed

+7
-0
lines changed

2 files changed

+7
-0
lines changed

src/StaticArrays.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@ include("svd.jl")
114114
include("lu.jl")
115115
include("qr.jl")
116116
include("deque.jl")
117+
include("flatten.jl")
117118
include("io.jl")
118119

119120
include("FixedSizeArrays.jl")

src/flatten.jl

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Special case flatten of iterators of static arrays.
2+
import Base.Iterators: flatten_iteratorsize, flatten_length
3+
flatten_iteratorsize(::Union{Base.HasShape, Base.HasLength}, ::Type{<:Union{SArray,MArray}}) = Base.HasLength()
4+
function flatten_length(f, T::Type{<:Union{SArray,MArray}})
5+
length(T)*length(f.it)
6+
end

0 commit comments

Comments
 (0)