@@ -424,10 +424,8 @@ struct ComposedOperator{T,O,C} <: AbstractSciMLOperator{T}
424424 ops:: O
425425 """ cache for 3 and 5 argument mul! """
426426 cache:: C
427- """ is cache set """
428- isset:: Bool
429427
430- function ComposedOperator (ops, cache, isset :: Bool )
428+ function ComposedOperator (ops, cache)
431429 @assert ! isempty (ops)
432430 for i in reverse (2 : length (ops))
433431 opcurr = ops[i]
@@ -437,14 +435,12 @@ struct ComposedOperator{T,O,C} <: AbstractSciMLOperator{T}
437435 end
438436
439437 T = promote_type (eltype .(ops)... )
440- isset = cache != = nothing
441- new {T,typeof(ops),typeof(cache)} (ops, cache, isset)
438+ new {T,typeof(ops),typeof(cache)} (ops, cache)
442439 end
443440end
444441
445442function ComposedOperator (ops:: AbstractSciMLOperator... ; cache = nothing )
446- isset = cache != = nothing
447- ComposedOperator (ops, cache, isset)
443+ ComposedOperator (ops, cache)
448444end
449445
450446# constructors
@@ -505,7 +501,7 @@ for op in (
505501 )
506502 @eval Base.$ op (L:: ComposedOperator ) = ComposedOperator (
507503 $ op .(reverse (L. ops))... ;
508- cache= L . isset ? reverse (L. cache) : nothing ,
504+ cache= iscached (L) ? reverse (L. cache) : nothing ,
509505 )
510506end
511507Base. conj (L:: ComposedOperator ) = ComposedOperator (conj .(L. ops); cache= L. cache)
@@ -582,7 +578,7 @@ function cache_self(L::ComposedOperator, u::AbstractVecOrMat)
582578end
583579
584580function cache_internals (L:: ComposedOperator , u:: AbstractVecOrMat )
585- if ! (L . isset )
581+ if ! iscached (L )
586582 L = cache_self (L, u)
587583 end
588584
@@ -595,7 +591,7 @@ function cache_internals(L::ComposedOperator, u::AbstractVecOrMat)
595591end
596592
597593function LinearAlgebra. mul! (v:: AbstractVecOrMat , L:: ComposedOperator , u:: AbstractVecOrMat )
598- @assert L . isset " cache needs to be set up for operator of type $(typeof (L)) .
594+ @assert iscached (L) " cache needs to be set up for operator of type $(typeof (L)) .
599595 set up cache by calling cache_operator(L::AbstractSciMLOperator, u::AbstractArray)"
600596
601597 vecs = (v, L. cache[1 : end - 1 ]. .. , u)
@@ -606,7 +602,7 @@ function LinearAlgebra.mul!(v::AbstractVecOrMat, L::ComposedOperator, u::Abstrac
606602end
607603
608604function LinearAlgebra. mul! (v:: AbstractVecOrMat , L:: ComposedOperator , u:: AbstractVecOrMat , α, β)
609- @assert L . isset " cache needs to be set up for operator of type $(typeof (L)) .
605+ @assert iscached (L) " cache needs to be set up for operator of type $(typeof (L)) .
610606 set up cache by calling cache_operator(L::AbstractSciMLOperator, u::AbstractArray)"
611607
612608 cache = L. cache[end ]
@@ -618,7 +614,7 @@ function LinearAlgebra.mul!(v::AbstractVecOrMat, L::ComposedOperator, u::Abstrac
618614end
619615
620616function LinearAlgebra. ldiv! (v:: AbstractVecOrMat , L:: ComposedOperator , u:: AbstractVecOrMat )
621- @assert L . isset " cache needs to be set up for operator of type $(typeof (L)) .
617+ @assert iscached (L) " cache needs to be set up for operator of type $(typeof (L)) .
622618 set up cache by calling cache_operator(L::AbstractSciMLOperator, u::AbstractArray)"
623619
624620 vecs = (u, reverse (L. cache[1 : end - 1 ])... , v)
@@ -642,17 +638,14 @@ end
642638struct InvertedOperator{T, LType, C} <: AbstractSciMLOperator{T}
643639 L:: LType
644640 cache:: C
645- isset:: Bool
646641
647- function InvertedOperator (L:: AbstractSciMLOperator{T} , cache, isset) where {T}
648- isset = cache != = nothing
649- new {T,typeof(L),typeof(cache)} (L, cache, isset)
642+ function InvertedOperator (L:: AbstractSciMLOperator{T} , cache) where {T}
643+ new {T,typeof(L),typeof(cache)} (L, cache)
650644 end
651645end
652646
653647function InvertedOperator (L:: AbstractSciMLOperator{T} ; cache= nothing ) where {T}
654- isset = cache != = nothing
655- InvertedOperator (L, cache, isset)
648+ InvertedOperator (L, cache)
656649end
657650
658651Base. inv (L:: AbstractSciMLOperator ) = InvertedOperator (L)
@@ -663,8 +656,8 @@ Base.:/(A::AbstractSciMLOperator, B::AbstractSciMLOperator) = A * inv(B)
663656Base. convert (:: Type{AbstractMatrix} , L:: InvertedOperator ) = inv (convert (AbstractMatrix, L. L))
664657
665658Base. size (L:: InvertedOperator ) = size (L. L) |> reverse
666- Base. transpose (L:: InvertedOperator ) = InvertedOperator (transpose (L. L); cache = L . isset ? L. cache' : nothing )
667- Base. adjoint (L:: InvertedOperator ) = InvertedOperator (adjoint (L. L); cache = L . isset ? L. cache' : nothing )
659+ Base. transpose (L:: InvertedOperator ) = InvertedOperator (transpose (L. L); cache = iscached (L) ? L. cache' : nothing )
660+ Base. adjoint (L:: InvertedOperator ) = InvertedOperator (adjoint (L. L); cache = iscached (L) ? L. cache' : nothing )
668661Base. conj (L:: InvertedOperator ) = InvertedOperator (conj (L. L); cache= L. cache)
669662
670663getops (L:: InvertedOperator ) = (L. L,)
@@ -706,7 +699,7 @@ function LinearAlgebra.mul!(v::AbstractVecOrMat, L::InvertedOperator, u::Abstrac
706699end
707700
708701function LinearAlgebra. mul! (v:: AbstractVecOrMat , L:: InvertedOperator , u:: AbstractVecOrMat , α, β)
709- @assert L . isset " cache needs to be set up for operator of type $(typeof (L)) .
702+ @assert iscached (L) " cache needs to be set up for operator of type $(typeof (L)) .
710703 set up cache by calling cache_operator(L::AbstractSciMLOperator, u::AbstractArray)"
711704
712705 copy! (L. cache, v)
@@ -720,7 +713,7 @@ function LinearAlgebra.ldiv!(v::AbstractVecOrMat, L::InvertedOperator, u::Abstra
720713end
721714
722715function LinearAlgebra. ldiv! (L:: InvertedOperator , u:: AbstractVecOrMat )
723- @assert L . isset " cache needs to be set up for operator of type $(typeof (L)) .
716+ @assert iscached (L) " cache needs to be set up for operator of type $(typeof (L)) .
724717 set up cache by calling cache_operator(L::AbstractSciMLOperator, u::AbstractArray)"
725718
726719 copy! (L. cache, u)
0 commit comments