Improve static analysis: type stability and JET tests #140
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
PODstruct (POD{S, T <: AbstractFloat}) for improved type stabilitySVDandTSVDstructs for proper kwargs typing (usingNamedTuple)Changes Made
Type Parameter Improvements
Anytyped fields to properly parameterized typessnapshots::S(parameterized by snapshot type)min_renergy::T,renergy::T(parameterized by element type)rbasis::Union{Missing, Matrix{T}},spectrum::Union{Missing, Vector{T}}kwargs::Anytokwargs::KwhereK <: NamedTupleReturn Type Annotations
matricize(VoV::Vector{Vector{T}})::Matrix{T}determine_truncation(...)::Tuple{Int, T}reduce!(...)::Nothingonly_dvs(...)::BoolBase.show(::IO, ::POD)::NothingJET.jl Tests
Added new test file
test/jet.jlthat verifies type stability of:deim_interpolation_indicesmatricizePODconstructors (Matrix and Vector{Vector})reduce!with SVD algorithmType Stability Before/After
Before (
@code_warntype reduce!(pod, TSVD())):After:
Test plan
Pkg.test()- all tests passCC: @ChrisRackauckas
🤖 Generated with Claude Code