@@ -270,29 +270,11 @@ function Operators.right_interior_idx(
270
270
end
271
271
end
272
272
273
- pick_inferred_type (
274
- :: Type{Union{}} ,
275
- :: Type{Y} ,
276
- ) where {Y <: Geometry.LocalGeometry } = Y
277
- pick_inferred_type (
278
- :: Type{X} ,
279
- :: Type{Union{}} ,
280
- ) where {X <: Geometry.LocalGeometry } = X
281
- pick_inferred_type (:: Type{T} , :: Type{T} ) where {T <: Geometry.LocalGeometry } = T
282
- pick_inferred_type (:: Type{Union{}} , :: Type{Union{}} ) =
283
- error (" Both LGs are not inferred" )
284
- pick_inferred_type (:: Type{X} , :: Type{Y} ) where {X, Y} =
285
- error (" LGs do not match: X=$X , Y=$Y " )
286
-
287
273
function Operators. return_eltype (
288
274
:: MultiplyColumnwiseBandMatrixField ,
289
275
matrix1,
290
276
arg,
291
277
)
292
- # LG1 = local_geometry_type(typeof(axes(matrix1)))
293
- # LG2 = local_geometry_type(typeof(axes(arg)))
294
- # LG = pick_inferred_type(LG1, LG2)
295
- # return Operators.return_eltype(op, matrix1, arg, LG)
296
278
eltype (matrix1) <: BandMatrixRow || error (
297
279
" The first argument of ⋅ must have elements of type BandMatrixRow, but \
298
280
the given argument has elements of type $(eltype (matrix1)) " ,
@@ -365,9 +347,8 @@ boundary_modified_ud(::BottomRightMatrixCorner, ud, column_space, i) =
365
347
# matrix field broadcast expressions to take roughly 3 or 4 times longer to
366
348
# evaluate, but this is less significant than the decrease in compilation time.
367
349
function multiply_matrix_at_index (loc, space, idx, hidx, matrix1, arg, bc)
368
- # lg = Geometry.LocalGeometry(space, idx, hidx)
369
- # prod_type = Operators.return_eltype(⋅, matrix1, arg, typeof(lg))
370
- prod_type = Operators. return_eltype (⋅ , matrix1, arg)
350
+ lg = Geometry. LocalGeometry (space, idx, hidx)
351
+ prod_type = Operators. return_eltype (⋅ , matrix1, arg, typeof (lg))
371
352
372
353
column_space1 = column_axes (matrix1, space)
373
354
ld1, ud1 = outer_diagonals (eltype (matrix1))
0 commit comments