@@ -24,22 +24,30 @@ CachedOperator(op::Operator,data::AbstractMatrix,sz::Tuple{Int,Int},pd=false) =
24
24
CachedOperator (op:: Operator ,data:: AbstractMatrix ,padding= false ) = CachedOperator (op,data,size (data),padding)
25
25
26
26
27
-
28
- function default_CachedOperator (op:: Operator ;padding:: Bool = false )
27
+ @static if VERSION >= v " 1.8"
28
+ Base. @constprop :aggressive function default_CachedOperator (op:: Operator ;padding:: Bool = false )
29
+ _default_CachedOperator (op, padding)
30
+ end
31
+ else
32
+ function default_CachedOperator (op:: Operator ;padding:: Bool = false )
33
+ _default_CachedOperator (op, padding)
34
+ end
35
+ end
36
+ @inline function _default_CachedOperator (op:: Operator , padding)
29
37
if isbanded (op)
30
- CachedOperator (BandedMatrix,op;padding= padding)
38
+ CachedOperator (BandedMatrix, op; padding= padding)
31
39
elseif isbandedblockbanded (op) && ! padding
32
- CachedOperator (BandedBlockBandedMatrix,op)
40
+ CachedOperator (BandedBlockBandedMatrix, op)
33
41
elseif isblockbanded (op)
34
- CachedOperator (BlockBandedMatrix,op;padding= padding)
42
+ CachedOperator (BlockBandedMatrix, op; padding= padding)
35
43
elseif israggedbelow (op)
36
- CachedOperator (RaggedMatrix,op;padding= padding)
44
+ CachedOperator (RaggedMatrix, op; padding= padding)
37
45
else
38
- CachedOperator (Matrix,op;padding= padding)
46
+ CachedOperator (Matrix, op; padding= padding)
39
47
end
40
48
end
41
49
42
- CachedOperator (op:: Operator ;padding :: Bool = false ) = default_CachedOperator (op;padding = padding )
50
+ CachedOperator (op:: Operator ; kw ... ) = default_CachedOperator (op; kw ... )
43
51
44
52
"""
45
53
cache(op::Operator)
0 commit comments