Skip to content

Investigate det_sign_exact regression from v0.4.2 to v0.4.3 #157

@acgetchell

Description

@acgetchell

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingdebugWork involving debugging / reproductionrustPull requests that update rust code

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions