Releases: MrUnbelievable92/SIMD-Algorithms
Releases · MrUnbelievable92/SIMD-Algorithms
SIMD Algorithms v1.1.0
Additions
- Added "SIMD_MinMax" functions to all types and contiguous Unity.Collections containers
- Added a "Comparison" enum that is used in "IndexOf", "Contains" and "Count" algorithms, giving the caller a choice to express primitive where clauses, like "index of first x where x > 9000"
Improvements
- Substantially improved performance and reduced code size of "SIMD_Count" functions for all types (and added caller-site optimization options - see below)
- "SIMD_Count" functions now have a TypeCode parameter "returnType" (set to the most inefficient - "TypeCode.UInt64" - by default) (unless the underlying type is exactly 64 bits wide), which can be overwritten for (s)byte and (u)short containers, in order to enable optimizations
- Slightly improved performance of "SIMD_Contains" functions for all types
- Improved performance of "SIMD_Min" and "SIMD_Max" functions for very small arrays for all types
Changes
- API BREAKING CHANGE: "SIMD_Count" extension methods now return ints (...since native collections "only" hold up to int.MaxValue elements)
- API BREAKING CHANGE: Any call-sites which explicitly declared an array traversal order before ("SIMD_Contains" and/or "SIMD_IndexOf") now require either an explicit "Comparison.EqualTo" parameter or a "traversalOrder:" named parameter declaration
SIMD Algorithms v1.0.1
Fixes
- fixed "SIMD_IndexOf" functions for bool arrays
- fixed infinite loops in "SIMD_Sum"
Additions
- added "SIMD_IndexOf" functions which traverse arrays in reverse order. These are called through the already written "SIMD_IndexOf" functions with another enum parameter "TraversalOrder.Ascending/Descending", which is set to "TraversalOrder.Ascending" by default
- added "SIMD_Contains" functions which traverse arrays in reverse order. These are called through the already written "SIMD_Contains" functions with another enum parameter"TraversalOrder.Ascending/Descending", which is set to "TraversalOrder.Ascending" by default
- added fast "SIMD_Sum" for float- and double arrays. These These are called through the already written "SIMD_Sum" functions with another enum parameter "Unity.Burst.FloatMode", which is set to "Unity.Burst.FloatMode.Strict" by default
Improvements
- added array bounds checks to all extension methods which take any "index" and/or "numEntires" parameters as arguments
- some small code size and performance improvements throughout the library
SIMD Algorithms v1.0.0
Initial Release