Skip to content

Commit

Permalink
Update krylov_utils.jl
Browse files Browse the repository at this point in the history
  • Loading branch information
amontoison authored Apr 30, 2024
1 parent 4d83811 commit c55ccd8
Showing 1 changed file with 8 additions and 3 deletions.
11 changes: 8 additions & 3 deletions src/krylov_utils.jl
Original file line number Diff line number Diff line change
Expand Up @@ -206,17 +206,22 @@ Return the most relevant storage type `S` based on the type of `v`.
function ktypeof end

function ktypeof(v::S) where S <: DenseVector
return S
if S.name.name == :ComponentArray
T = eltype(S)
return Vector{T}
else
return S
end
end

function ktypeof(v::S) where S <: DenseMatrix
return S
end

function ktypeof(v::S) where S <: AbstractVector
if S.name.name == :Zeros || S.name.name == :Ones || S.name.name == :SArray || S.name.name == :MArray || S.name.name == :SizedArray || S.name.name == :FieldArray || S.name.name == :ComponentArray
if S.name.name == :Zeros || S.name.name == :Ones || S.name.name == :SArray || S.name.name == :MArray || S.name.name == :SizedArray || S.name.name == :FieldArray
T = eltype(S)
return Vector{T} # FillArrays, StaticArrays, ComponentArrays
return Vector{T} # FillArrays, StaticArrays
else
return S # BlockArrays, PartitionedArrays, etc...
end
Expand Down

0 comments on commit c55ccd8

Please sign in to comment.