Skip to content

Commit

Permalink
Use Total Ordering for Aggregates and Refactor for Better Auto-Vector…
Browse files Browse the repository at this point in the history
…ization (#5100)

* Refactor numeric aggregation kernels to make better use of
auto-vectorization.

Remove the explicit simd implementations since the autovectorized
versions are faster on average.

The min/max kernels for floating point numbers now use the total order
relation.

* Comments and cleanup

* Clippy fixes

* Use largest/smallest bit patterns for float MIN/MAX constants, these differ from the canonical NAN bit pattern

* Add test coverage for aggregating large non-null and float inputs

* Add test with negative NaN

* Rename MIN/MAX constants to make it explicit they use the total order relation
  • Loading branch information
jhorstmann authored Dec 7, 2023
1 parent 490c080 commit b06ab13
Show file tree
Hide file tree
Showing 3 changed files with 454 additions and 435 deletions.
Loading

0 comments on commit b06ab13

Please sign in to comment.