Dan Hoeflinger
Dan Hoeflinger
The `transform_iterator` constructor has the potential to cause problems for checks of default constructability (and different results for different compilers `clang` vs `gcc`). This PR makes clear to the compiler...
`std::vector` has an optimization to a bitfield rather than individual booleans. For host policies, this will simply not work for parallel algorithms (without some extra processing step / copy, which...
- Adding out of place support to ESIMD radix sort [by key] (high level refactoring). - Adding tests to test out of place sort [by key]. - Removing some unnecessary...
It seems that `std::vector` with `usm_allocator` with `sycl::usm::alloc::shared` data were being processed as if they were host_iterators when being passed to oneDPL with device policy and dpcpp backend. This means...
`zip_iterator::operator+=` currently relies on the copy assignment operator of its zipped iterator elements. This PR shifts that to instead rely upon the same `operator+=` of the zipped iterator elements as...
`zip_iterator` had some mixed use of `std::tuple` and oneDPL's internal `tuple` internally. Specifically we use of `std::make_tuple` in the constructor for `zip_iterator` we currently use the constructors from `std::tuple` on...
Note: Should be merged after #1445 and #1438, as errors can occur otherwise. Summary: Adding test coverage to catch bugs which slipped through our previous testing by targeting a sweep...
Capturing this comment as an issue: >Perhaps it makes sense to have a unit test targeted specifically at handling different input types and covering `__get_sycl_range` combinations using a simple lightweight...
`transform_iterator` defines a custom copy assignment operator which omits the copy assignment of its functor `__my_unary_func_`. This copy assignment operator means that `transform_iterator` is not a [trivially copyable class](https://en.cppreference.com/w/cpp/language/classes#Trivially_copyable_class). However,...
As described in this TODO below, improve the handling of `permutation_iterator` with a base iterator which is not explicitly "passed directly", or a standalone `sycl_iterator`, but still is a "supported"...