@@ -617,8 +617,10 @@ copyto!(dest::AbstractArray, bc::Broadcasted{BandedStyle, <:Any, <:Any, <:Tuple{
617
617
# matrix-matrix broadcast
618
618
# ###############
619
619
620
-
621
- function _banded_broadcast! (dest:: AbstractMatrix , f, (A,B):: Tuple{AbstractMatrix{T},AbstractMatrix{V}} , _1, _2) where {T,V}
620
+ function _banded_broadcast! (dest:: AbstractMatrix , f, (A,B):: NTuple{2,AbstractMatrix} , _1, _2)
621
+ __banded_broadcast! (dest, f, (A,B), _1, _2)
622
+ end
623
+ function __banded_broadcast! (dest:: AbstractMatrix , f, (A,B):: Tuple{AbstractMatrix{T},AbstractMatrix{V}} , _1, _2) where {T,V}
622
624
z = f (zero (T), zero (V))
623
625
bc = broadcasted (f, A, B)
624
626
l, u = bandwidths (bc)
@@ -694,7 +696,7 @@ function checkzerobands(dest, f, (A,B)::Tuple{AbstractMatrix,AbstractMatrix})
694
696
end
695
697
696
698
697
- function _banded_broadcast! (dest:: AbstractMatrix , f, (A,B):: Tuple{AbstractMatrix,AbstractMatrix} , :: BandedColumns , :: Tuple{<:BandedColumns,<: BandedColumns} )
699
+ function _banded_broadcast! (dest:: AbstractMatrix , f, (A,B):: Tuple{AbstractMatrix,AbstractMatrix} , Mdest :: BandedColumns , MAB :: NTuple{2, BandedColumns} )
698
700
z = f (zero (eltype (A)), zero (eltype (B)))
699
701
bc = broadcasted (f, A, B)
700
702
l, u = bandwidths (bc)
@@ -703,7 +705,7 @@ function _banded_broadcast!(dest::AbstractMatrix, f, (A,B)::Tuple{AbstractMatrix
703
705
704
706
if size (A) ≠ size (dest) || size (B) ≠ size (dest)
705
707
# special broadcast
706
- return _banded_broadcast ! (dest, f, (A,B), UnknownLayout (), UnknownLayout () )
708
+ return __banded_broadcast ! (dest, f, (A,B), Mdest, MAB )
707
709
end
708
710
709
711
A_l,A_u = bandwidths (A)
0 commit comments