Skip to content

Commit 36dfacd

Browse files
committed
Support overloading broadcast style for lazy block arrays
1 parent b167ede commit 36dfacd

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "BlockArrays"
22
uuid = "8e7c35d0-a365-5155-bbbb-fb81a777f24e"
3-
version = "1.6.3"
3+
version = "1.7.0"
44

55
[deps]
66
ArrayLayouts = "4c555306-a7a7-4459-81d9-ec55ddd5c99a"

src/blockbroadcast.jl

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,13 @@ BlockStyle(::Val{N}) where {N} = BlockStyle{N}()
1515
BlockedStyle(::Val{N}) where {N} = BlockedStyle{N}()
1616
BlockStyle{M}(::Val{N}) where {N,M} = BlockStyle{N}()
1717
BlockedStyle{M}(::Val{N}) where {N,M} = BlockedStyle{N}()
18-
BroadcastStyle(::Type{<:BlockArray{<:Any,N}}) where {N} = BlockStyle{N}()
19-
BroadcastStyle(::Type{<:BlockedArray{<:Any,N}}) where {N} = BlockedStyle{N}()
20-
BroadcastStyle(::Type{<:AdjOrTrans{<:Any,<:BlockArray{<:Any,N}}}) where {N} = BlockStyle{2}()
21-
BroadcastStyle(::Type{<:AdjOrTrans{<:Any,<:BlockedArray{<:Any,N}}}) where {N} = BlockedStyle{2}()
18+
blockbroadcaststyle(::AbstractArrayStyle{N}) where {N} = BlockStyle{N}()
19+
blockedbroadcaststyle(::AbstractArrayStyle{N}) where {N} = BlockedStyle{N}()
20+
21+
BroadcastStyle(::Type{<:BlockArray{<:Any,N,Blocks}}) where {N,Blocks} = blockbroadcaststyle(BroadcastStyle(Blocks))
22+
BroadcastStyle(::Type{<:BlockedArray{<:Any,N,Blocks}}) where {N,Blocks} = blockedbroadcaststyle(BroadcastStyle(Blocks))
23+
BroadcastStyle(::Type{<:AdjOrTrans{<:Any,<:BlockArray{<:Any,N,Blocks}}}) where {N,Blocks} = blockbroadcaststyle(BroadcastStyle(Blocks))
24+
BroadcastStyle(::Type{<:AdjOrTrans{<:Any,<:BlockedArray{<:Any,N,Blocks}}}) where {N,Blocks} = blockedbroadcaststyle(BroadcastStyle(Blocks))
2225

2326
BroadcastStyle(::DefaultArrayStyle{N}, b::AbstractBlockStyle{M}) where {M,N} = typeof(b)(Val(max(M,N)))
2427
BroadcastStyle(a::AbstractBlockStyle{N}, ::DefaultArrayStyle{M}) where {M,N} = typeof(a)(Val(max(M,N)))

0 commit comments

Comments
 (0)