Skip to content
This repository was archived by the owner on Aug 20, 2026. It is now read-only.

deps: bump impl pin to the diag_bending/diag_all corner cross-term fix - #88

Merged
balbasty merged 1 commit into
mainfrom
claude/bump-impl-diag-corner
Aug 18, 2026
Merged

deps: bump impl pin to the diag_bending/diag_all corner cross-term fix#88
balbasty merged 1 commit into
mainfrom
claude/bump-impl-diag-corner

Conversation

@balbasty

Copy link
Copy Markdown
Contributor

What

Moves the impl gitlink from 41d66b3 to 5e2c78e (current fastfields-cpu-implmain). Gitlink-only — git diff-tree between main and this branch reports exactly one modified path, impl.

Resulting chain

cpu-lib (this PR) -> cpu-impl 5e2c78e -> kernels 1df9fd3

which brings the CPU path onto:

kernels PRcommiteffect
#811df9fd3correctness. Corrects the doubled fx1*fy0 / dropped fx0*fy1 corner term in the boundary-corrected diagonal of diag_bending (field 2d/3d, flow 2d/3d) and diag_all (flow 2d/3d). The defect corrupted field_diag/flow_diag at boundary voxels under sign-flipping bounds (Zero/DST1/DST2) with bending active, and hence any Jacobi preconditioner built from that diagonal.
#7993a954brestrict.h includes batch.h for index2sub; the previous chain predated it, so g++ could not compile this tree at all.

Pin hygiene

Both pins are the squash-merge commits that actually exist on their repos' main, not pre-merge branch heads — this project has hit dangling pins that way before. Verified each resolves before opening.

Verification

Full CPU suite over this exact chain, make -j4 test CXX=clang++ — 13/13 suites pass, 0 failures:

test_distance 2352 test_distance_mesh 4622
test_distance_spline 704 test_posdef 4012
test_pushpull 308 test_pushpull_backward 6381
test_reg_field 18284 test_reg_flow 11415
test_reg_op 186 test_resize 630
test_restrict 65 test_splinc 4577
test_solve_field (pass)

Note the existing suite is green both before and after this bump — nothing currently on main covers the corrected boundary corners. The regression test that does fail without kernels#81 follows immediately in a separate PR, which this bump unblocks.

🤖 Generated with Claude Code

https://claude.ai/code/session_016AjQcY78NgbagPSbPJRr6Z


Generated by Claude Code

Picks up fastfields-cpu-impl#72 (5e2c78e), which in turn moves the kernels
pin to fastfields-kernels#81 (1df9fd3) -- the fix for the doubled fx1*fy0 /
dropped fx0*fy1 corner term in the boundary-corrected diagonal of
diag_bending (field 2d/3d, flow 2d/3d) and diag_all (flow 2d/3d).
That defect corrupted the shipped field_diag/flow_diag output at boundary
voxels under sign-flipping bounds (Zero/DST1/DST2) whenever bending was
active, and so any Jacobi preconditioner built from that diagonal.
Also carries kernels#79 (93a954b), the restrict.h -> batch.h include for
index2sub that the previous chain predated.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016AjQcY78NgbagPSbPJRr6Z
@github-actions

Copy link
Copy Markdown

Submodule staleness (non-blocking -- fastfields-lib#15)

submodulepinned committracksstatusbehind by
impl5e2c78efastfields/fastfields-cpu-impl@mainup to date0

@balbasty
balbasty merged commit bdbe80d into mainAug 18, 2026
7 checks passed
@balbasty
balbasty deleted the claude/bump-impl-diag-corner branch August 18, 2026 14:57
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@balbasty@claude