One select-row stitcher - #144
Open
alecloudenback wants to merge 1 commit into
Open
alecloudenback wants to merge 1 commit into
alecloudenback wants to merge 1 commit into
Conversation
SelectMortality, the XTbML converter, and the CSV extension all built
"select rates followed by the ultimate tail, indexed by attained age"
with their own index arithmetic and their own treatment of leading
missing values. They now share _select_row. Rows are only widened to
Union{Missing,Float64} when they actually contain a missing value, and
the CSV loader keeps an interior blank rather than truncating the row.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JFnc6pvofuNXTW2xdCcewT
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## refactor/08-vector-constructor #144 +/- ##
==================================================================
- Coverage 91.05% 90.93% -0.12%
==================================================================
Files 10 10
Lines 380 375 -5
==================================================================
- Hits 346 341 -5
Misses 34 34 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
"Select rates followed by the ultimate tail, indexed by attained age" was implemented three times with three treatments of leading
missingvalues:SelectMortality, the XTbML converter, and the CSV loader.Changes
_select_row(issue_age, select_rates, ultimate)next toSelectMortality. A select period longer than the ultimate table simply has no tail.SelectMortalitymaps_select_rowover the rows.duration - 1leadingmissings, allocating aUnionvector only when that count is nonzero, then_select_row.missing, so a row with a gap is not silently truncated (the old backward scan did the same; a forward scan would not).Baseline facts recorded before editing and now asserted: rows without leading missings stay
Vector{Float64}(only rows with leading missings areUnion{Missing,Float64}),cso2001.select[15][15]ismissing, andomega(cso2001.select[98]) == 120(issue #71).Testing
_select_rowwith leadingmissing, a select period ending exactly at omega, and one extending past omega.Stacked on #143 (base branch
refactor/08-vector-constructor). Merge the stack in order; once the base PR is merged and its branch deleted, GitHub retargets this PR tomaster.🤖 Generated with Claude Code
https://claude.ai/code/session_01JFnc6pvofuNXTW2xdCcewT