@@ -263,23 +263,25 @@ function BandedBlockBandedMatrix(::Type{Zeros}, S::SubOperator)
263
263
rows,cols, (l,u), (λ- jsh,μ+ ksh))
264
264
end
265
265
266
- function BandedBlockBandedMatrix (:: Type{Zeros} , S:: SubOperator{<:Any,<:Any,Tuple{BlockRange1,BlockRange1}} )
267
- KR,JR = parentindices (S)
268
- KO = parent (S)
269
- l,u = blockbandwidths (KO):: Tuple{Int,Int}
270
- λ,μ = subblockbandwidths (KO):: Tuple{Int,Int}
271
-
272
- rt = rangespace (KO)
273
- dt = domainspace (KO)
266
+ function _BandedBlockBandedMatrixZeros (:: Type{T} , KR, JR, (l,u), (λ,μ), rt, dt) where {T}
274
267
J = first (JR)
275
268
K = first (KR)
276
269
bl_sh = Int (J) - Int (K)
277
270
278
271
KBR = blocklengthrange (rt,KR)
279
272
KJR = blocklengthrange (dt,JR)
280
273
281
- BandedBlockBandedMatrix (Zeros {eltype(KO)} (sum (KBR),sum (KJR)),
282
- AbstractVector {Int} (KBR),AbstractVector {Int} (KJR), (l+ bl_sh,u- bl_sh), (λ,μ))
274
+ BandedBlockBandedMatrix (Zeros {T} (sum (KBR),sum (KJR)),
275
+ convert (AbstractVector{Int}, KBR),
276
+ convert (AbstractVector{Int}, KJR),
277
+ (l+ bl_sh,u- bl_sh), (λ,μ))
278
+ end
279
+ function BandedBlockBandedMatrix (:: Type{Zeros} , S:: SubOperator{<:Any,<:Any,Tuple{BlockRange1,BlockRange1}} )
280
+ KR,JR = parentindices (S)
281
+ KO = parent (S)
282
+ l,u = blockbandwidths (KO):: Tuple{Int,Int}
283
+ λ,μ = subblockbandwidths (KO):: Tuple{Int,Int}
284
+ _BandedBlockBandedMatrixZeros (eltype (KO), KR, JR, (l,u), (λ,μ), rangespace (KO), domainspace (KO))
283
285
end
284
286
285
287
0 commit comments