oneapi-src / oneDPL

oneAPI DPC++ Library (oneDPL) https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/dpc-library.html
Apache License 2.0
720 stars 114 forks source link

Replace usage of std::complex in by_segment tests #1733

Closed mmichel11 closed 1 month ago

mmichel11 commented 1 month ago

Previously, we used std::complex in the tests for inclusive_scan_by_segment, exclusive_scan_by_segment, and reduce_by_segment algorithms. The purpose of this was to test with some non-fundamental type. However, std::complex is technically not officially supported in SYCL kernels and failures in these tests over time have reflected the state of std::complex support as opposed to the actual correctness of the by_segment algorithms. We already have explicit tests for current std::complex in our testing suite, so I believe these should be fully separated from our parallel API tests. We also do not use std::complex throughout our other parallel API tests.

I've replaced these tests with tests over a custom 2D point type. Essentially, a similar option is performed as before but no longer depends on std::complex.