Releases: mrdav30/FixedMathSharp
Releases · mrdav30/FixedMathSharp
FixedMathSharp v1.3.3
- New Features
- Added new
DeterministicRandomstruct.- Switched to using xoroshiro128++ with splitmix64 seeding to ensure no allocations, no time/GUID.
- Added new
- Notice
- Marked
ThreadLocalRandomobsoleteDeterministicRandomgives explicit, reproducible streams keyed to your world/feature, independent of threading.
- Marked
FixedMathSharp v1.3.2
- BugFix
- Updated intersection logic to correctly detect intersections between flat (zero-thickness) BoundingAreas in any primary plane.
- Previously, coplanar and edge-touching areas were not recognized as intersecting due to 3D AABB logic.
- Now uses 2D overlap checks when both bounds are flat in the same axis.
- Updated intersection logic to correctly detect intersections between flat (zero-thickness) BoundingAreas in any primary plane.
Full Changelog: v1.3.1...v1.3.2
FixedMathSharp v1.3.1
- New Features
- Added serialization support for MessagePack-CSharp
- Refactors
- Added serialization to
IBoundstructs
- Added serialization to
- Documentation
- Added CONTRIBUTING
FixedMathSharp v1.3.0
-
New Features
- Generic Clamp Utility
- Added Clamp(T value, T min, T max) for general-purpose clamping across comparable types (fills a missing gap in .NET 4.8).
- Generic Clamp Utility
-
Refactors
- Fixed64 Clamp Overload Updated
- Removed nullable max overload to avoid ambiguity with new generic version.
- Replaced with Clamp(Fixed64 value, Fixed64 min, Fixed64 max) for explicit and more performant clamping.
- Fixed64 Clamp Overload Updated
FixedMathSharp v1.2.3
- Expanded Vector2d, Vector3d & Fixed64 operators
- Fixed issue with Vector3d.ClampMagnitude
- Added indexer for Fixed3x3 & Fixed4x4
- Added zeroed out FixedQuaternion & Fixed4x4
FixedMathSharp v1.2.2
- Improved Trigonometric Functions – Enhanced Sin precision and and in turn Cos.
- Better Quaternion & Vector Normalization – Fixed rounding errors and ensured proper unit magnitudes.
- Added Helper Methods – Streamlined common math operations for better performance and maintainability.
For details, see PR #35. 🚀
FixedMathSharp v1.2.1
-
Enhancements:
-
Fixed4x4 Struct:
- Refactored to support both affine and full 4x4 transformations, optimizing performance for common cases.
- Introduced TransformPoint and InverseTransformPoint methods for efficient point transformations.
- Renamed SRT and TRS methods for improved clarity.
-
FixedQuaternion Struct:
- Added ToAngularVelocity method to facilitate conversion of quaternion rotations to angular velocity vectors.
-
-
Bug Fixes:
- Addressed various minor bugs to enhance overall stability and performance.
FixedMathSharp v1.2.0
New Features
-
FixedCurve Class Added
- Introduced a new FixedCurve class to facilitate advanced curve calculations and interpolations.
-
Interpolation Methods in FixedMath
- Added SmoothStep and CubicInterpolate methods to the FixedMath class, enabling smoother transitions and cubic interpolations.
Improvements
- Refactoring of Fixed3x3 and Fixed4x4
- Performed code cleanup and refactoring on the Fixed3x3 and Fixed4x4 classes to enhance readability and maintainability.
📢 FixedMathSharp v1.1.0 🚀
🔥 New Features & Enhancements
- Fixed64.ToFloat(long f1) and ToDecimal(long f1) Conversion Methods
- Added utility functions to convert the underlying Fixed64 long value to a float or decimal
🛠 Improvements in GitHub CI/CD Workflow
- The .NET GitHub Actions workflow has been refactored to improve reliability and support for multi-platform testing (Windows & Linux).
- Key updates include:
- Ensuring proper installation of required Mono dependencies for running .NET Framework tests on Linux.
- Improved error handling and log clarity for build failures.
📥 Update Now:
dotnet add package FixedMathSharp --version 1.1.0Enjoy smooth and precise fixed-point arithmetic! 🎉
v1.0.4: Enhancements and Documentation
FixedMathSharp v1.0.4 🎉
🛠 Enhancements
- Vector3d Operators:
- Added comparison operators (>, <, >=, <=) for Vector3d to facilitate component-wise comparisons.
- Vector3d Helper Methods:
- Sign(Vector3d value): Returns a vector indicating the sign of each component.
- Fixed64 Helper Methods:
- IsInteger Method: Introduced IsInteger in Fixed64 and Fixed64.Extensions to check if a Fixed64 value represents an integer.
🧹 Documentation
- Summary Tags: Added XML documentation for new methods and operators to enhance code readability and IntelliSense support.