@@ -238,7 +238,7 @@ struct TimesOperator{T,BW,SZ,O<:Operator{T},BBW,SBBW} <: Operator{T}
238
238
# check compatible
239
239
for k = 1 : length (ops)- 1
240
240
size (ops[k], 2 ) == size (ops[k+ 1 ], 1 ) || throw (ArgumentError (" incompatible operator sizes" ))
241
- spacescompatible (domainspace (ops[k]), rangespace (ops[k+ 1 ])) || throw (ArgumentError (" imcompatible spaces at index $k " ))
241
+ spacescompatible (domainspace (ops[k]), rangespace (ops[k+ 1 ])) || throw (ArgumentError (" incompatible spaces at index $k " ))
242
242
end
243
243
244
244
# remove TimesOperators buried inside ops
@@ -313,12 +313,12 @@ else
313
313
end
314
314
@inline function _promotetimes (opsin,
315
315
dsp= domainspace (last (opsin)),
316
- sz= _timessize (opsin),
317
316
anytimesop= true )
318
317
319
318
@assert length (opsin) > 1 " need at least 2 operators"
320
319
ops, bw, bbw, sbbw, ibbb, irb = __promotetimes (opsin, dsp, anytimesop)
321
- TimesOperator (ops, bw, sz, bbw, sbbw, ibbb, irb)
320
+ sz = _timessize (ops)
321
+ TimesOperator (convert_vector (ops), bw, sz, bbw, sbbw, ibbb, irb)
322
322
end
323
323
function __promotetimes (opsin, dsp, anytimesop)
324
324
ops = Vector {Operator{promote_eltypeof(opsin)}} (undef, 0 )
@@ -341,7 +341,7 @@ function __promotetimes(opsin, dsp, anytimesop)
341
341
all (israggedbelow, ops)
342
342
end
343
343
@inline function _op_bws (op)
344
- [op] , bandwidths (op), blockbandwidths (op),
344
+ (op,) , bandwidths (op), blockbandwidths (op),
345
345
subblockbandwidths (op), isbandedblockbanded (op),
346
346
israggedbelow (op)
347
347
end
364
364
op2_dsp = op2: dsp
365
365
op1_dsp = op1: rangespace (op2_dsp)
366
366
ops = (op1_dsp, op2_dsp)
367
- return [ ops... ] , bandwidthssum (ops),
367
+ return ops, bandwidthssum (ops),
368
368
bandwidthssum (ops, blockbandwidths),
369
369
bandwidthssum (ops, subblockbandwidths),
370
370
all (isbandedblockbanded, ops),
@@ -600,8 +600,7 @@ function A_mul_B(A::Operator, B::Operator; dspB=domainspace(B), rspA=rangespace(
600
600
elseif isconstop (B)
601
601
promotedomainspace (strictconvert (Number, B) * A, dspB)
602
602
else
603
- promotetimes (collateops (* , A, B),
604
- dspB, _timessize ((A, B)), false )
603
+ promotetimes (collateops (* , A, B), dspB, false )
605
604
end
606
605
end
607
606
0 commit comments