Summary
det_sign_exact() appears to have regressed between v0.4.2 and v0.4.3. Investigate the behavioral or performance change, identify the first bad change, and fix or document the intended behavior before v0.4.4.
Current State
det_sign_exact() is part of the exact feature path.
- Earlier exact determinant work and the
det_sign_exact short-circuit are closed, but the observed regression suggests the current implementation may no longer match the v0.4.2 behavior.
- The regression needs confirmation against the released versions before choosing the fix.
Proposed Changes
- Reproduce the regression by comparing
v0.4.2, v0.4.3, and current main.
- Identify whether the regression is correctness, performance, or both.
- Add a focused regression test that fails on the bad behavior.
- Fix
det_sign_exact() while preserving exact-path invariants:
- no silent precision loss
- no non-finite propagation
- agreement with
det_exact() wherever both paths are defined
- Update documentation or benchmarks if the regression is performance-related.
Benefits
- Restores confidence in the exact determinant sign path.
- Protects the
exact feature from release-to-release regressions.
- Keeps
v0.4.4 focused on fixing known release-train regressions.
Implementation Notes
- Check changes around the Shewchuk-style f64 sign filter and Bareiss fallback.
- Compare benchmark and test behavior with the
exact feature enabled.
- Useful validation commands:
cargo test --features exact --verbose
cargo bench --features exact or just bench-exact if performance is implicated
Summary
det_sign_exact()appears to have regressed betweenv0.4.2andv0.4.3. Investigate the behavioral or performance change, identify the first bad change, and fix or document the intended behavior beforev0.4.4.Current State
det_sign_exact()is part of theexactfeature path.det_sign_exactshort-circuit are closed, but the observed regression suggests the current implementation may no longer match thev0.4.2behavior.Proposed Changes
v0.4.2,v0.4.3, and currentmain.det_sign_exact()while preserving exact-path invariants:det_exact()wherever both paths are definedBenefits
exactfeature from release-to-release regressions.v0.4.4focused on fixing known release-train regressions.Implementation Notes
exactfeature enabled.cargo test --features exact --verbosecargo bench --features exactorjust bench-exactif performance is implicated