Skip to content

FixedMathSharp v3.0.0

Choose a tag to compare

@mrdav30 mrdav30 released this 14 Apr 16:20
· 31 commits to main since this release
  • Breaking Changes
    • Removed float-based numeric/vector overloads to enforce deterministic usage across Vector2d and Vector3d.
    • Core precision API refactor:
      • Fixed64.Precision replaced with Fixed64.MinIncrement.
      • Default epsilon/tolerance semantics were redefined (FixedMath.DEFAULT_TOLERANCE_L / Fixed64.Epsilon), which can change fuzzy-comparison behavior.
  • Added
    • FixedMath.InvertedPI constant.
    • New Vector3d.SnapSmallComponentsToZero(...) helper for zeroing tiny components under a threshold.
  • Changed
    • Degree/radian conversion paths in trigonometry moved to fixed-point math paths for deterministic consistency.
    • Vector epsilon guards improved across vector/component comparison logic.
  • Fixed
    • Hardened Fixed64 scalar multiply/divide operator behavior, including improved 128-bit intermediate rounding/saturation handling.
    • Quaternion math corrections:
      • Euler conversion alignment (YXZ order consistency).
      • Rotation extraction stabilization (including matrix-based paths).
    • Additional Fixed64 operator corrections from #48.
  • Maintenance
    • Project/test setup cleanup and release metadata housekeeping commits.
  • Migration Notes
    • Replace uses of Fixed64.Precision with Fixed64.MinIncrement.
    • Remove/update any call sites relying on removed float overloads.
    • Re-validate tolerance-sensitive tests/simulations due to epsilon behavior changes.