Repository navigation
simd: PowerSums::checked_merge + CrossPowerSums fold; CovHighD::from_symmetric_fn - #338
Conversation
… wrapping The keyed fold wraps, as the whole family does. A caller that tiles a population and combines the per-tile results needs the opposite: exact addition that refuses past the documented 2^32-rows-per-group bound. Each field is checked independently. Tests: two-chunk merge equals the one-pass fold at word, mid-word and end splits in both orders; three-way associativity; per-field refusal. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01X1YcYMRSFvfczXoP748wtB
… walker CrossPowerSums is the bivariate sibling of PowerSums: same widths for the marginals (u128 square sums), plus a signed i128 Σxy. x()/y() return the marginals exactly as the univariate fold produces them; checked_merge combines chunks without wrapping. masked_group_cross_power_sums_i32 with _via / _pair share one fold, as the power-sum family does. Tests: i128/u128 longhand oracle on resident and VIA keys at three mask densities, marginals equal the univariate fold (resident and pair), chunk merges in both orders, exactness at the i32 extremes, per-field merge refusal. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01X1YcYMRSFvfczXoP748wtB
…n-identity M CovHighD had no public way to be built from data (only identity() and the private zero()), so a consumer could not push a real covariance through sandwich without re-spelling the packed lower-triangle index. from_symmetric_fn reads the lower triangle once; get is made public. Every existing sandwich test used M = I, where a transposed or mis-indexed product is invisible. Adds a dense M·Σ·M triple-product check for a non-identity symmetric M. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01X1YcYMRSFvfczXoP748wtB
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. 🧰 Additional context used📚 Code guidelines (1)No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (3)
Included review availability: This review used your included allowance. 2 included reviews remain after this review. Your included PR review attempts over the past 7 days set your current allowance at 3 reviews per hour. 📝 WalkthroughWalkthroughThe changes add symmetric covariance construction and public lookup, checked merging for power statistics, and masked grouped cross-power-sum operations for three key formats. ChangesSymmetric covariance
Masked grouped cross-power sums
Priority: ⬇️ Low Estimated code review effort: 3 (Moderate) | ~25 minutes Change: Feature Suggested reviewers: Merge Risk: ⚪ Minimal · up to No identified issue blocks merging after normal checks. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
Warning Billing warning: we have not been able to collect payment for this subscription for more than 72 hours. Please update the payment method or pay any pending invoices in Billing to avoid service interruption. A rabbit checks the sums at dawn Comment |
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: 980b58a8-09c4-4835-ab8e-5eeed85564f4) |
|
Autopilot could not be updated. Open Coding to check access and billing. |
Summary
PowerSums::checked_merge: combine per-chunk power sums exactly; refuses (returnsNone) instead of wrapping.CrossPowerSums { n, Σx, Σy, Σx², Σy², Σxy }andmasked_group_cross_power_sums_i32{,_via,_pair}on the existing visitor walker, re-exported fromsimd.pillar::cov_high_d:CovHighD::from_symmetric_fn, publicget, and a sandwich test with a non-identity M.Consumed by lance-graph branch
ccr-1d39fce9-gdgy6k(mask-risc grouped moments / cross moments terminals, jc ANOVA / Pearson / OLS from moments, perturbation-sim angle covariance). That PR depends on this one.Tests
🤖 Generated with Claude Code
https://claude.ai/code/session_01X1YcYMRSFvfczXoP748wtB
Generated by Claude Code
Summary by CodeRabbit