fornwall opened a new pull request, #50513:
URL: https://github.com/apache/arrow/pull/50513
### Rationale for this change
See #50512 - add missing support for float16 in hash kernels.
### What changes are included in this PR?
Support `float16` in hash kernels: `dictionary_encode`, `unique`,
`value_counts`.
### Are these changes tested?
Added `UniqueHalfFloat`, `ValueCountsHalfFloat` and `DictEncodeHalfFloat` to
`vector_hash_test.cc`, following the conventions in that file. Coverage
includes nulls, repeated values, a no-nulls case, and sliced input. `float16`
is not in `PrimitiveTypes()`, so it isn't picked up by the existing
`TestHashKernelPrimitive` typed suite and needs its own `TEST_F` cases.
`NaN`/`-0.0` cases are deliberately not tested, matching the existing
float32/float64 tests (commented out pending ARROW-4124).
Built and ran locally:
```
cmake -S cpp -B /tmp/arrow-build -DCMAKE_BUILD_TYPE=Debug -DARROW_COMPUTE=ON
\
-DARROW_BUILD_TESTS=ON -DARROW_DEPENDENCY_SOURCE=BUNDLED
-DARROW_SIMD_LEVEL=NONE
cmake --build /tmp/arrow-build --target arrow-compute-vector-test -j8
```
- The 3 new float16 tests pass.
- All 110 `*HashKernel*` tests pass.
- The full `arrow-compute-vector-test` binary passes: **1135 tests from 150
test suites**, no regressions.
### Are there any user-facing changes?
No (except for filling out the feature gap).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]