@@ -423,10 +423,8 @@ struct ComposedOperator{T,O,C} <: AbstractSciMLOperator{T}
423423 ops:: O
424424 """ cache for 3 and 5 argument mul! """
425425 cache:: C
426- """ is cache set """
427- isset:: Bool
428426
429- function ComposedOperator (ops, cache, isset :: Bool )
427+ function ComposedOperator (ops, cache)
430428 @assert ! isempty (ops)
431429 for i in reverse (2 : length (ops))
432430 opcurr = ops[i]
@@ -436,14 +434,12 @@ struct ComposedOperator{T,O,C} <: AbstractSciMLOperator{T}
436434 end
437435
438436 T = promote_type (eltype .(ops)... )
439- isset = cache != = nothing
440- new {T,typeof(ops),typeof(cache)} (ops, cache, isset)
437+ new {T,typeof(ops),typeof(cache)} (ops, cache)
441438 end
442439end
443440
444441function ComposedOperator (ops:: AbstractSciMLOperator... ; cache = nothing )
445- isset = cache != = nothing
446- ComposedOperator (ops, cache, isset)
442+ ComposedOperator (ops, cache)
447443end
448444
449445# constructors
@@ -504,7 +500,7 @@ for op in (
504500 )
505501 @eval Base.$ op (L:: ComposedOperator ) = ComposedOperator (
506502 $ op .(reverse (L. ops))... ;
507- cache= L . isset ? reverse (L. cache) : nothing ,
503+ cache= iscached (L) ? reverse (L. cache) : nothing ,
508504 )
509505end
510506Base. conj (L:: ComposedOperator ) = ComposedOperator (conj .(L. ops); cache= L. cache)
@@ -581,7 +577,7 @@ function cache_self(L::ComposedOperator, u::AbstractVecOrMat)
581577end
582578
583579function cache_internals (L:: ComposedOperator , u:: AbstractVecOrMat )
584- if ! (L . isset )
580+ if ! iscached (L )
585581 L = cache_self (L, u)
586582 end
587583
@@ -594,7 +590,7 @@ function cache_internals(L::ComposedOperator, u::AbstractVecOrMat)
594590end
595591
596592function LinearAlgebra. mul! (v:: AbstractVecOrMat , L:: ComposedOperator , u:: AbstractVecOrMat )
597- @assert L . isset " cache needs to be set up for operator of type $(typeof (L)) .
593+ @assert iscached (L) " cache needs to be set up for operator of type $(typeof (L)) .
598594 set up cache by calling cache_operator(L::AbstractSciMLOperator, u::AbstractArray)"
599595
600596 vecs = (v, L. cache[1 : end - 1 ]. .. , u)
@@ -605,7 +601,7 @@ function LinearAlgebra.mul!(v::AbstractVecOrMat, L::ComposedOperator, u::Abstrac
605601end
606602
607603function LinearAlgebra. mul! (v:: AbstractVecOrMat , L:: ComposedOperator , u:: AbstractVecOrMat , α, β)
608- @assert L . isset " cache needs to be set up for operator of type $(typeof (L)) .
604+ @assert iscached (L) " cache needs to be set up for operator of type $(typeof (L)) .
609605 set up cache by calling cache_operator(L::AbstractSciMLOperator, u::AbstractArray)"
610606
611607 cache = L. cache[end ]
@@ -617,7 +613,7 @@ function LinearAlgebra.mul!(v::AbstractVecOrMat, L::ComposedOperator, u::Abstrac
617613end
618614
619615function LinearAlgebra. ldiv! (v:: AbstractVecOrMat , L:: ComposedOperator , u:: AbstractVecOrMat )
620- @assert L . isset " cache needs to be set up for operator of type $(typeof (L)) .
616+ @assert iscached (L) " cache needs to be set up for operator of type $(typeof (L)) .
621617 set up cache by calling cache_operator(L::AbstractSciMLOperator, u::AbstractArray)"
622618
623619 vecs = (u, reverse (L. cache[1 : end - 1 ])... , v)
@@ -641,17 +637,14 @@ end
641637struct InvertedOperator{T, LType, C} <: AbstractSciMLOperator{T}
642638 L:: LType
643639 cache:: C
644- isset:: Bool
645640
646- function InvertedOperator (L:: AbstractSciMLOperator{T} , cache, isset) where {T}
647- isset = cache != = nothing
648- new {T,typeof(L),typeof(cache)} (L, cache, isset)
641+ function InvertedOperator (L:: AbstractSciMLOperator{T} , cache) where {T}
642+ new {T,typeof(L),typeof(cache)} (L, cache)
649643 end
650644end
651645
652646function InvertedOperator (L:: AbstractSciMLOperator{T} ; cache= nothing ) where {T}
653- isset = cache != = nothing
654- InvertedOperator (L, cache, isset)
647+ InvertedOperator (L, cache)
655648end
656649
657650Base. inv (L:: AbstractSciMLOperator ) = InvertedOperator (L)
@@ -662,8 +655,8 @@ Base.:/(A::AbstractSciMLOperator, B::AbstractSciMLOperator) = A * inv(B)
662655Base. convert (:: Type{AbstractMatrix} , L:: InvertedOperator ) = inv (convert (AbstractMatrix, L. L))
663656
664657Base. size (L:: InvertedOperator ) = size (L. L) |> reverse
665- Base. transpose (L:: InvertedOperator ) = InvertedOperator (transpose (L. L); cache = L . isset ? L. cache' : nothing )
666- Base. adjoint (L:: InvertedOperator ) = InvertedOperator (adjoint (L. L); cache = L . isset ? L. cache' : nothing )
658+ Base. transpose (L:: InvertedOperator ) = InvertedOperator (transpose (L. L); cache = iscached (L) ? L. cache' : nothing )
659+ Base. adjoint (L:: InvertedOperator ) = InvertedOperator (adjoint (L. L); cache = iscached (L) ? L. cache' : nothing )
667660Base. conj (L:: InvertedOperator ) = InvertedOperator (conj (L. L); cache= L. cache)
668661
669662getops (L:: InvertedOperator ) = (L. L,)
@@ -704,7 +697,7 @@ function LinearAlgebra.mul!(v::AbstractVecOrMat, L::InvertedOperator, u::Abstrac
704697end
705698
706699function LinearAlgebra. mul! (v:: AbstractVecOrMat , L:: InvertedOperator , u:: AbstractVecOrMat , α, β)
707- @assert L . isset " cache needs to be set up for operator of type $(typeof (L)) .
700+ @assert iscached (L) " cache needs to be set up for operator of type $(typeof (L)) .
708701 set up cache by calling cache_operator(L::AbstractSciMLOperator, u::AbstractArray)"
709702
710703 copy! (L. cache, v)
@@ -718,7 +711,7 @@ function LinearAlgebra.ldiv!(v::AbstractVecOrMat, L::InvertedOperator, u::Abstra
718711end
719712
720713function LinearAlgebra. ldiv! (L:: InvertedOperator , u:: AbstractVecOrMat )
721- @assert L . isset " cache needs to be set up for operator of type $(typeof (L)) .
714+ @assert iscached (L) " cache needs to be set up for operator of type $(typeof (L)) .
722715 set up cache by calling cache_operator(L::AbstractSciMLOperator, u::AbstractArray)"
723716
724717 copy! (L. cache, u)
0 commit comments