Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
276 commits
Select commit Hold shift + click to select a range
b6d66d3
include/oneapi/dpl/pstl/hetero/algorithm_ranges_impl_hetero.h - fix a…
SergeyKopienko Aug 15, 2025
2683940
include/oneapi/dpl/pstl/hetero/algorithm_ranges_impl_hetero.h - fix a…
SergeyKopienko Aug 15, 2025
81b09a2
include/oneapi/dpl/pstl/utils.h - fix issue in __binary_op::operator(…
SergeyKopienko Aug 15, 2025
dc6e294
include/oneapi/dpl/pstl/algorithm_ranges_impl.h - remove comments fro…
SergeyKopienko Aug 15, 2025
39c7b18
include/oneapi/dpl/pstl/algorithm_ranges_impl.h - fix __ranges::__pat…
SergeyKopienko Aug 15, 2025
adc1d25
test/parallel_api/ranges/std_ranges_set_difference.pass.cpp - formatting
SergeyKopienko Aug 15, 2025
450e055
include/oneapi/dpl/pstl/algorithm_ranges_impl.h - fix __ranges::__pat…
SergeyKopienko Aug 15, 2025
180f08a
test/parallel_api/ranges/std_ranges_set_symmetric_difference.pass.cpp…
SergeyKopienko Aug 15, 2025
4ac2f96
include/oneapi/dpl/pstl/algorithm_ranges_impl.h - fix __ranges::__pat…
SergeyKopienko Aug 15, 2025
9235576
test/parallel_api/ranges/std_ranges_set_intersection.pass.cpp - remov…
SergeyKopienko Aug 15, 2025
ddb7e42
Pass projections in hetero backend
dmitriy-sobolev Aug 15, 2025
3a49e02
Comment out binary_op proj type equality assert
dmitriy-sobolev Aug 15, 2025
2842442
include/oneapi/dpl/pstl/algorithm_ranges_impl.h - fix __ranges::__pat…
SergeyKopienko Aug 16, 2025
b31aa56
include/oneapi/dpl/pstl/algorithm_ranges_impl.h - fix template parame…
SergeyKopienko Aug 16, 2025
4a0c47d
Revert "Comment out binary_op proj type equality assert"
SergeyKopienko Aug 16, 2025
f57f7d2
include/oneapi/dpl/pstl/utils.h - implement __binary_op::call_arg_dir…
SergeyKopienko Aug 16, 2025
2c6a0ee
include/oneapi/dpl/pstl/utils.h - implement __binary_op_caller_arg_di…
SergeyKopienko Aug 16, 2025
5346616
include/oneapi/dpl/pstl/utils.h - insert projection into __biased_low…
SergeyKopienko Aug 16, 2025
4e4fa73
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_reduce_the…
SergeyKopienko Aug 16, 2025
567966b
Fix construction issues with __binary_op
dmitriy-sobolev Aug 16, 2025
a02da1e
include/oneapi/dpl/pstl/utils.h - insert projection into __pstl_lower…
SergeyKopienko Aug 16, 2025
f25bbac
include/oneapi/dpl/pstl/utils.h - insert projection into __pstl_upper…
SergeyKopienko Aug 16, 2025
f3e542e
include/oneapi/dpl/pstl/utils.h - insert projection into __pstl_right…
SergeyKopienko Aug 16, 2025
33a4391
include/oneapi/dpl/pstl/utils.h - insert projection into __pstl_left_…
SergeyKopienko Aug 16, 2025
66363fb
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_reduce_the…
SergeyKopienko Aug 16, 2025
195e2dc
include/oneapi/dpl/pstl/hetero/dpcpp/unseq_backend_sycl.h - pass proj…
SergeyKopienko Aug 16, 2025
b1ea903
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_reduce_the…
SergeyKopienko Aug 16, 2025
e1bd26c
include/oneapi/dpl/pstl/hetero/dpcpp/unseq_backend_sycl.h - rewrite c…
SergeyKopienko Aug 16, 2025
b57ce81
include/oneapi/dpl/pstl/hetero/dpcpp/unseq_backend_sycl.h - fix compi…
SergeyKopienko Aug 16, 2025
4635953
test/parallel_api/ranges/std_ranges_test.h - fix result comparison if…
SergeyKopienko Aug 16, 2025
f598fff
include/oneapi/dpl/pstl/hetero/dpcpp/unseq_backend_sycl.h - apply pro…
SergeyKopienko Aug 16, 2025
b6ba531
include/oneapi/dpl/pstl/utils.h - comment static_assert in struct __b…
SergeyKopienko Aug 16, 2025
e7040ee
include/oneapi/dpl/pstl/utils.h - fix implementation of __biased_uppe…
SergeyKopienko Aug 16, 2025
168e07a
include/oneapi/dpl/pstl/utils.h - fix implementation of __biased_uppe…
SergeyKopienko Aug 16, 2025
afa18f6
include/oneapi/dpl/pstl/utils.h - fix errors in initialization of str…
SergeyKopienko Aug 16, 2025
c244508
Fix typos in includes
dmitriy-sobolev Aug 16, 2025
003c8dd
include/oneapi/dpl/pstl/utils.h - fix errors in initialization of str…
SergeyKopienko Aug 16, 2025
7229eb9
Fix compile errors: evaluate all projections through std::invoke call
SergeyKopienko Aug 16, 2025
c5837b9
test/support/utils.h - fix test environment: log differences in boole…
SergeyKopienko Aug 16, 2025
2e454a4
Comply with sorted requirement in the test
dmitriy-sobolev Aug 16, 2025
26b01be
include/oneapi/dpl/pstl/hetero/dpcpp/unseq_backend_sycl.h - fix error…
SergeyKopienko Aug 16, 2025
50b4bf0
include/oneapi/dpl/pstl/hetero/dpcpp/unseq_backend_sycl.h - fix const…
SergeyKopienko Aug 16, 2025
a239751
include/oneapi/dpl/pstl/hetero/algorithm_ranges_impl_hetero.h - fix k…
SergeyKopienko Aug 16, 2025
ea0c1ac
include/oneapi/dpl/pstl/hetero/dpcpp/sycl_traits.h - declare __binary…
SergeyKopienko Aug 16, 2025
894edb9
include/oneapi/dpl/pstl/utils.h - fix __biased_lower_bound impl: appl…
SergeyKopienko Aug 16, 2025
916d6df
include/oneapi/dpl/pstl/utils.h - declare __binary_op::call_arg_dir_f…
SergeyKopienko Aug 16, 2025
f349f1c
test/parallel_api/ranges/std_ranges_test.h - fix struct P2: it should…
SergeyKopienko Aug 16, 2025
c9ea29b
Remove debugging code: struct __is_binary_op, struct __binary_op_call…
SergeyKopienko Aug 16, 2025
aa89776
include/oneapi/dpl/pstl/utils.h - fix class __not_pred::operator() im…
SergeyKopienko Aug 16, 2025
5a421a0
include/oneapi/dpl/pstl/utils.h - fix class __reorder_pred::operator(…
SergeyKopienko Aug 16, 2025
d074872
@@@ comment &P2::x, &P2::x and &P2::proj, &P2::proj usages
SergeyKopienko Aug 16, 2025
4279e5f
Revert "fix struct P2: it should satisfy to the concept std::totally_…
dmitriy-sobolev Aug 16, 2025
5948687
include/oneapi/dpl/pstl/utils.h - fix an error in __pstl_upper_bound
SergeyKopienko Aug 16, 2025
0069469
Improve includes test
dmitriy-sobolev Aug 16, 2025
4ef05db
include/oneapi/dpl/pstl/utils.h - fix an error in __biased_upper_bound
SergeyKopienko Aug 16, 2025
ac6bf3b
Revert "@@@ comment &P2::x, &P2::x and &P2::proj, &P2::proj usages"
dmitriy-sobolev Aug 16, 2025
d66dbae
include/oneapi/dpl/pstl/utils.h - fix __biased_lower_bound implementa…
SergeyKopienko Aug 16, 2025
2423929
Apply GitHUB clang format
SergeyKopienko Aug 16, 2025
ab58fd8
include/oneapi/dpl/pstl/utils.h - remove extra std::invoke call from …
SergeyKopienko Aug 16, 2025
8ae9b49
include/oneapi/dpl/pstl/algorithm_ranges_impl.h - additional TODO
SergeyKopienko Aug 16, 2025
1cc3029
include/oneapi/dpl/pstl/algorithm_ranges_impl.h - additional TODO
SergeyKopienko Aug 17, 2025
d3e7689
test/parallel_api/ranges - fix spelling check errors
SergeyKopienko Aug 17, 2025
53d62d4
@@@ include/oneapi/dpl/pstl/hetero/algorithm_ranges_impl_hetero.h - f…
SergeyKopienko Aug 17, 2025
ec5dea6
@@@ include/oneapi/dpl/pstl/hetero/algorithm_ranges_impl_hetero.h - f…
SergeyKopienko Aug 17, 2025
235b7a0
@@@ include/oneapi/dpl/pstl/hetero/algorithm_ranges_impl_hetero.h - f…
SergeyKopienko Aug 17, 2025
0aeffe7
Roll back lambda comments in host backend
dmitriy-sobolev Aug 17, 2025
7ac6a4f
Implement host parallel set_union pattern
dmitriy-sobolev Aug 17, 2025
83562d3
include/oneapi/dpl/pstl/parallel_backend_utils.h - add projections su…
SergeyKopienko Aug 18, 2025
48f2a68
include/oneapi/dpl/pstl/parallel_backend_utils.h - add projections su…
SergeyKopienko Aug 18, 2025
c0600a0
include/oneapi/dpl/pstl/algorithm_ranges_impl.h - define and using __…
SergeyKopienko Aug 18, 2025
2e6246b
include/oneapi/dpl/pstl/utils.h - implement _SubscriptAdapter
SergeyKopienko Aug 18, 2025
87feed9
include/oneapi/dpl/pstl/algorithm_ranges_impl.h - implement __pattern…
SergeyKopienko Aug 18, 2025
088f2c0
include/oneapi/dpl/pstl/algorithm_ranges_impl.h - implement __pattern…
SergeyKopienko Aug 18, 2025
2875d48
include/oneapi/dpl/pstl/algorithm_ranges_impl.h - implement __pattern…
SergeyKopienko Aug 18, 2025
5aca32c
Fix lower/upper bound use with projections
dmitriy-sobolev Aug 18, 2025
e8ecd04
Fix lower/upper bound use with projections
dmitriy-sobolev Aug 18, 2025
6f41a45
include/oneapi/dpl/pstl/algorithm_ranges_impl.h - implement __pattern…
SergeyKopienko Aug 18, 2025
fb31bf6
test/parallel_api/ranges/std_ranges_includes.pass.cpp - expand test
SergeyKopienko Aug 18, 2025
26d02f3
Call comparators directly without std::invoke
SergeyKopienko Aug 18, 2025
29681f1
Apply GitHUB clang format
SergeyKopienko Aug 18, 2025
25a76aa
include/oneapi/dpl/pstl/algorithm_ranges_impl.h - fix compile error
SergeyKopienko Aug 18, 2025
2d804cd
include/oneapi/dpl/pstl/algorithm_ranges_impl.h - fix compile error
SergeyKopienko Aug 18, 2025
7e2a70c
Introduce __deref1 and __deref2 for apply corresponding projection fu…
SergeyKopienko Aug 18, 2025
8512d08
Merge branch 'main' into dev/mdvorski/ranges_algo_L2_set-origin_UXL
SergeyKopienko Aug 19, 2025
efd4d51
Improve test coverage for set algos, fix return values
dmitriy-sobolev Aug 19, 2025
8e6a490
Customize tests for a case with one empty input sequence
dmitriy-sobolev Aug 19, 2025
a6e9033
Revert unnecessary changes in std_ranges_merge.pass
dmitriy-sobolev Aug 20, 2025
3c5875d
Fix set_union test
dmitriy-sobolev Aug 20, 2025
160b851
Improve includes test
dmitriy-sobolev Aug 20, 2025
9ca7a36
Fix return values in set_intersection
dmitriy-sobolev Aug 20, 2025
f258f58
include/oneapi/dpl/pstl/algorithm_ranges_impl.h - fix include formatting
SergeyKopienko Aug 20, 2025
ff18838
Improve includes test
dmitriy-sobolev Aug 20, 2025
983a29d
include/oneapi/dpl/pstl/hetero/dpcpp/unseq_backend_sycl.h - extract _…
SergeyKopienko Aug 21, 2025
6c8fd5e
include/oneapi/dpl/pstl/hetero/dpcpp/unseq_backend_sycl.h - remove ex…
SergeyKopienko Aug 21, 2025
6e7b2dc
Reorder size parameters in struct __brick_includes
SergeyKopienko Aug 21, 2025
fcb0779
Rreorder Proj parameters in struct __brick_includes
SergeyKopienko Aug 21, 2025
3f88568
Reorder Comp parameters in struct __brick_includes : move in after sizes
SergeyKopienko Aug 21, 2025
6fc12ba
Rename type alias __brick_include_type to __brick_include_t
SergeyKopienko Aug 21, 2025
c900fdb
include/oneapi/dpl/pstl/hetero/dpcpp/unseq_backend_sycl.h - remove du…
SergeyKopienko Aug 21, 2025
7c8691d
Additional comment and refactoring of class __brick_set_op::operator()
SergeyKopienko Aug 21, 2025
74b0a0f
include/oneapi/dpl/pstl/hetero/dpcpp/unseq_backend_sycl.h - remove du…
SergeyKopienko Aug 21, 2025
54b858c
include/oneapi/dpl/pstl/hetero/dpcpp/unseq_backend_sycl.h - rollback …
SergeyKopienko Aug 21, 2025
ac13033
include/oneapi/dpl/pstl/hetero/dpcpp/unseq_backend_sycl.h - format st…
SergeyKopienko Aug 21, 2025
6259d68
Merge branch 'main' into dev/mdvorski/ranges_algo_L2_set-origin_UXL
SergeyKopienko Aug 21, 2025
13ba147
Merge branch 'dev/skopienko/ranges_algo_L2_set-origin_UXL_fix_brick_i…
SergeyKopienko Aug 21, 2025
311cd19
include/oneapi/dpl/pstl/algorithm_ranges_impl.h - apply GitHUB clang …
SergeyKopienko Aug 21, 2025
e33d77a
Improve set_union test, fix diff buffer type issue
dmitriy-sobolev Aug 21, 2025
12e993d
Fix and simplify set_union test
dmitriy-sobolev Aug 21, 2025
9d846f6
Merge branch 'main' into dev/mdvorski/ranges_algo_L2_set-origin_UXL
SergeyKopienko Aug 21, 2025
06c59ec
Improve set_intersection test
dmitriy-sobolev Aug 21, 2025
f3a95f7
include/oneapi/dpl/pstl/hetero/algorithm_ranges_impl_hetero.h - fix t…
SergeyKopienko Aug 21, 2025
e1c5ab0
Improve set_symmetric_difference test
dmitriy-sobolev Aug 21, 2025
365e818
Improve set_difference test
dmitriy-sobolev Aug 21, 2025
4607550
Fix set_symmetric_difference test
dmitriy-sobolev Aug 21, 2025
5bb0448
Rename: __deref -> proj_deref
dmitriy-sobolev Aug 21, 2025
e33b937
Remove unnecessary TODO comment
dmitriy-sobolev Aug 21, 2025
7bd0de0
Fix a comment, rename a variable
dmitriy-sobolev Aug 21, 2025
05c23fb
Merge branch 'main' into dev/mdvorski/ranges_algo_L2_set-origin_UXL
SergeyKopienko Aug 22, 2025
27984c0
Apply GitHUB clang format
SergeyKopienko Aug 22, 2025
13e850a
Merge branch 'main' into dev/mdvorski/ranges_algo_L2_set-origin_UXL
dmitriy-sobolev Aug 22, 2025
13c5e5e
Call a comparator with invoke
dmitriy-sobolev Aug 22, 2025
46b5a4d
Revert make_zip_view change (move to a separate PR)
dmitriy-sobolev Aug 22, 2025
5d5715e
Revert "Revert make_zip_view change (move to a separate PR)"
SergeyKopienko Aug 23, 2025
9193349
Merge branch 'main' into dev/mdvorski/ranges_algo_L2_set-origin_UXL
SergeyKopienko Aug 23, 2025
a3a73f6
Merge branch 'main' into dev/mdvorski/ranges_algo_L2_set-origin_UXL
dmitriy-sobolev Aug 25, 2025
b9e2c50
Fix incorrect header handling in the previous merge with main
dmitriy-sobolev Aug 25, 2025
686c35e
clang-format
dmitriy-sobolev Aug 25, 2025
a009b60
Add a broken macro for libc++ bug in set algorithms
dmitriy-sobolev Aug 25, 2025
f1bd921
Improve a comment
dmitriy-sobolev Aug 25, 2025
7f9fdfc
Add a broken macro for libc++ bug in set algorithms - introduce new b…
SergeyKopienko Aug 25, 2025
3ed6a6e
Merge branch 'main' into dev/mdvorski/ranges_algo_L2_set-origin_UXL
SergeyKopienko Aug 25, 2025
816caf8
include/oneapi/dpl/pstl/algorithm_ranges_impl.h - fix review comment:…
SergeyKopienko Aug 25, 2025
a6602f9
Merge branch 'main' into dev/mdvorski/ranges_algo_L2_set-origin_UXL
SergeyKopienko Aug 25, 2025
0ada903
Merge branch 'main' into dev/mdvorski/ranges_algo_L2_set-origin_UXL
SergeyKopienko Aug 26, 2025
7db19e0
include/oneapi/dpl/pstl/hetero/algorithm_ranges_impl_hetero.h - fix c…
SergeyKopienko Aug 26, 2025
23f34e8
include/oneapi/dpl/pstl/hetero/algorithm_ranges_impl_hetero.h - fix c…
SergeyKopienko Aug 26, 2025
b6e484b
Merge branch 'main' into dev/mdvorski/ranges_algo_L2_set-origin_UXL
SergeyKopienko Aug 26, 2025
d4031e8
Merge branch 'main' into dev/mdvorski/ranges_algo_L2_set-origin_UXL
SergeyKopienko Aug 26, 2025
167e5cb
include/oneapi/dpl/pstl/hetero/dpcpp/sycl_traits.h - fix review comme…
SergeyKopienko Aug 27, 2025
1c5e020
include/oneapi/dpl/pstl/hetero/dpcpp/unseq_backend_sycl.h - fix revie…
SergeyKopienko Aug 27, 2025
e7098c8
test/parallel_api/ranges/std_ranges_test.h - fix static_assert in tes…
SergeyKopienko Aug 27, 2025
4e8040a
Merge branch 'dev/skopienko/fix_static_assert_in_dangling_iterators_c…
SergeyKopienko Aug 27, 2025
4db8d94
Update test/parallel_api/ranges/std_ranges_test.h
SergeyKopienko Aug 27, 2025
7c5a77d
Merge branch 'dev/skopienko/fix_static_assert_in_dangling_iterators_c…
SergeyKopienko Aug 27, 2025
1cab461
Merge branch 'main' into dev/mdvorski/ranges_algo_L2_set-origin_UXL
SergeyKopienko Aug 27, 2025
836ca9d
Introduce new struct __projection
SergeyKopienko Aug 27, 2025
605d951
include/oneapi/dpl/pstl/hetero/dpcpp/unseq_backend_sycl.h - fix revie…
SergeyKopienko Aug 27, 2025
773cac5
Introduce new struct __projection_deref
SergeyKopienko Aug 27, 2025
7037c17
Fix review comment: apply struct __projection_deref in the code
SergeyKopienko Aug 27, 2025
73b212f
include/oneapi/dpl/pstl/algorithm_impl.h - fix compile error
SergeyKopienko Aug 27, 2025
0798400
include/oneapi/dpl/pstl/algorithm_ranges_impl.h - fix compile error
SergeyKopienko Aug 27, 2025
b20cdc7
Merge branch 'main' into dev/mdvorski/ranges_algo_L2_set-origin_UXL
SergeyKopienko Aug 27, 2025
bf4d48f
Fix self-review comment: align parameters order in class __brick_set_…
SergeyKopienko Aug 27, 2025
a907e85
include/oneapi/dpl/pstl/hetero/dpcpp/unseq_backend_sycl.h - fix param…
SergeyKopienko Aug 27, 2025
a52f2f4
Clarify new predicate return types to merge (#2406)
SergeyKopienko Aug 28, 2025
86973c4
Apply GitHUB clang format
SergeyKopienko Aug 28, 2025
6469511
include/oneapi/dpl/pstl/algorithm_impl.h - review comment: fix incorr…
SergeyKopienko Aug 29, 2025
417c800
Remove `struct _SubscriptAdapter` (#2409)
SergeyKopienko Aug 29, 2025
8ca6941
include/oneapi/dpl/pstl/algorithm_ranges_impl.h - fix self-review com…
SergeyKopienko Aug 29, 2025
378389b
Merge branch 'main' into dev/mdvorski/ranges_algo_L2_set-origin_UXL
SergeyKopienko Aug 29, 2025
9586b5d
Remove `struct __projection_deref` (#2412)
SergeyKopienko Aug 29, 2025
30ad82e
Apply GitHUB clang format
SergeyKopienko Aug 29, 2025
5fcefb0
Apply GitHUB clang format
SergeyKopienko Aug 29, 2025
6fa17f1
include/oneapi/dpl/pstl/hetero/algorithm_ranges_impl_hetero.h - fix e…
SergeyKopienko Aug 29, 2025
40de84d
include/oneapi/dpl/pstl/hetero/algorithm_ranges_impl_hetero.h - fix e…
SergeyKopienko Aug 29, 2025
071fa37
include/oneapi/dpl/pstl/algorithm_ranges_impl.h - remove auto return …
SergeyKopienko Aug 29, 2025
b55efdb
include/oneapi/dpl/pstl/algorithm_ranges_impl.h - remove auto return …
SergeyKopienko Aug 29, 2025
b98c370
include/oneapi/dpl/pstl/algorithm_ranges_impl.h - remove auto return …
SergeyKopienko Aug 29, 2025
af73b44
include/oneapi/dpl/pstl/algorithm_ranges_impl.h - remove auto return …
SergeyKopienko Aug 29, 2025
c0e0f4f
include/oneapi/dpl/pstl/algorithm_ranges_impl.h - remove auto return …
SergeyKopienko Aug 29, 2025
8979d89
include/oneapi/dpl/pstl/hetero/algorithm_ranges_impl_hetero.h - remov…
SergeyKopienko Aug 29, 2025
e0e2c4e
include/oneapi/dpl/pstl/hetero/algorithm_ranges_impl_hetero.h - remov…
SergeyKopienko Aug 29, 2025
d4b0461
include/oneapi/dpl/pstl/hetero/algorithm_ranges_impl_hetero.h - remov…
SergeyKopienko Aug 29, 2025
c1dc894
include/oneapi/dpl/pstl/hetero/algorithm_ranges_impl_hetero.h - remov…
SergeyKopienko Aug 29, 2025
561f930
include/oneapi/dpl/pstl/hetero/algorithm_ranges_impl_hetero.h - remov…
SergeyKopienko Aug 29, 2025
26c5672
Apply GitHUB clang format
SergeyKopienko Aug 29, 2025
5ca3f7f
Merge branch 'main' into dev/mdvorski/ranges_algo_L2_set-origin_UXL
SergeyKopienko Aug 30, 2025
1d11106
Add serial set_union
dmitriy-sobolev Sep 1, 2025
7572a62
Merge branch 'main' into dev/mdvorski/ranges_algo_L2_set-origin_UXL
SergeyKopienko Sep 1, 2025
fe25cbc
include/oneapi/dpl/pstl/algorithm_ranges_impl.h - improvements of __s…
SergeyKopienko Sep 1, 2025
f58eba6
Add serial set_union - replace calls
SergeyKopienko Sep 1, 2025
c5ea2bc
Add __serial_set_intersection
SergeyKopienko Sep 1, 2025
df7b717
Merge branch 'main' into dev/dmitriy-sobolev/serial-set
SergeyKopienko Sep 1, 2025
c5fb5d2
Add __serial_set_difference
SergeyKopienko Sep 2, 2025
8681bf9
Temporarily enable CI
dmitriy-sobolev Sep 2, 2025
d6c3ac0
Merge branch 'dev/mdvorski/ranges_algo_L2_set-origin_UXL' into dev/dm…
dmitriy-sobolev Sep 2, 2025
9137d04
Remove _PSTL_TEST_LIBCPP_RANGE_SET_BROKEN from set_union test
dmitriy-sobolev Sep 2, 2025
fd3691e
Add __serial_set_intersection - remove _ENABLE_STD_RANGES_TESTING che…
SergeyKopienko Sep 3, 2025
e2c624c
Add __serial_set_difference - remove _ENABLE_STD_RANGES_TESTING check…
SergeyKopienko Sep 3, 2025
d4edad6
Add __serial_set_symmetric_difference
SergeyKopienko Sep 3, 2025
92d6add
test/support/test_config.h - remove _PSTL_TEST_LIBCPP_RANGE_SET_BROKE…
SergeyKopienko Sep 3, 2025
7d462c6
include/oneapi/dpl/pstl/algorithm_ranges_impl.h - fix an error in __s…
SergeyKopienko Sep 3, 2025
674241d
include/oneapi/dpl/pstl/algorithm_ranges_impl.h - fix an error in __s…
SergeyKopienko Sep 3, 2025
82490c6
Merge branch 'main' into dev/dmitriy-sobolev/serial-set
SergeyKopienko Sep 3, 2025
1540837
Merge branch 'main' into dev/mdvorski/ranges_algo_L2_set-origin_UXL
SergeyKopienko Sep 3, 2025
47f8031
Simplify test checkers
dmitriy-sobolev Sep 4, 2025
f5d84cc
Optimize serial set_union
dmitriy-sobolev Sep 4, 2025
24085e8
include/oneapi/dpl/pstl/parallel_backend_utils.h - fix merge error in…
SergeyKopienko Sep 4, 2025
0994bcb
Add the first portion of checks for serial set_union
dmitriy-sobolev Sep 4, 2025
9269c02
Fix a checker
dmitriy-sobolev Sep 4, 2025
35f93bc
Formatting changes
dmitriy-sobolev Sep 4, 2025
313dbb7
Refactoring of `__pstl_lower_bound` / `__pstl_upper_bound` (#2425)
SergeyKopienko Sep 4, 2025
172c38e
include/oneapi/dpl/pstl/algorithm_impl.h - replace ::std to std in st…
SergeyKopienko Sep 4, 2025
0afce7e
include/oneapi/dpl/pstl/algorithm_impl.h - replace ::std to std in __…
SergeyKopienko Sep 4, 2025
4b2807b
include/oneapi/dpl/pstl/algorithm_impl.h - partial replace typedef to…
SergeyKopienko Sep 4, 2025
303ef11
include/oneapi/dpl/pstl/algorithm_impl.h - replace ::std to std in ch…
SergeyKopienko Sep 4, 2025
2fe9901
Merge branch 'main' into dev/mdvorski/ranges_algo_L2_set-origin_UXL
SergeyKopienko Sep 4, 2025
d7f7335
Partially apply GitHUB clang format
SergeyKopienko Sep 4, 2025
23f649a
Merge branch 'dev/mdvorski/ranges_algo_L2_set-origin_UXL' into dev/dm…
SergeyKopienko Sep 4, 2025
ae4b7c2
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_reduce_the…
SergeyKopienko Sep 4, 2025
03c6497
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_reduce_the…
SergeyKopienko Sep 4, 2025
201830c
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_reduce_the…
SergeyKopienko Sep 4, 2025
3755d6a
Pass missing projections
dmitriy-sobolev Sep 4, 2025
ca525dd
Fix signed/unsigned mismatch
dmitriy-sobolev Sep 4, 2025
549cf1f
Simplify projection parameters default value setup
SergeyKopienko Sep 4, 2025
0e0aaa5
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_reduce_the…
SergeyKopienko Sep 4, 2025
fbc8057
Improve set_union test
dmitriy-sobolev Sep 5, 2025
b6f19e7
Merge branch 'dev/mdvorski/ranges_algo_L2_set-origin_UXL' into dev/dm…
dmitriy-sobolev Sep 5, 2025
2c05e4c
include/oneapi/dpl/pstl/hetero/algorithm_ranges_impl_hetero.h - rever…
SergeyKopienko Sep 5, 2025
cbac8d9
Apply stylistic suggestions
dmitriy-sobolev Sep 5, 2025
522db7b
Re-implement __pstl_left_bound function (#2430)
SergeyKopienko Sep 5, 2025
0015ba7
Improve comments in std_ranges_test.h
dmitriy-sobolev Sep 5, 2025
99557cf
Improve comments in std_ranges_test.h, correction
dmitriy-sobolev Sep 5, 2025
b18327b
Merge branch 'main' into dev/mdvorski/ranges_algo_L2_set-origin_UXL
SergeyKopienko Sep 5, 2025
c032421
update to align size types
danhoeflinger Sep 4, 2025
c2b1160
add size type alignment for get_bounds_partitioned
danhoeflinger Sep 5, 2025
e0e83d1
adding more alignment
danhoeflinger Sep 5, 2025
dabae7f
typos
danhoeflinger Sep 5, 2025
83f468f
remove unnecessary construction
danhoeflinger Sep 5, 2025
17a695d
more type fixing
danhoeflinger Sep 5, 2025
8f1ad52
checking larger type
danhoeflinger Sep 5, 2025
84b7d30
Temporary fix for a type mismatch issue
dmitriy-sobolev Sep 5, 2025
b14e34d
using known smaller type after min
danhoeflinger Sep 5, 2025
8412ea4
Revert "Temporary fix for a type mismatch issue"
SergeyKopienko Sep 5, 2025
cfce0c9
Merge branch 'dev/dhoeflin/align_size_types' into dev/mdvorski/ranges…
SergeyKopienko Sep 5, 2025
ae9e79d
Merge branch 'main' into dev/mdvorski/ranges_algo_L2_set-origin_UXL
SergeyKopienko Sep 5, 2025
c0d1d26
Partially apply GitHUB clang format
SergeyKopienko Sep 5, 2025
65de098
Merge branch 'dev/mdvorski/ranges_algo_L2_set-origin_UXL' into dev/dm…
SergeyKopienko Sep 5, 2025
de30aa8
include/oneapi/dpl/pstl/algorithm_impl.h - fix an error: incorrect ty…
SergeyKopienko Sep 6, 2025
872a284
Merge branch 'main' into dev/mdvorski/ranges_algo_L2_set-origin_UXL
SergeyKopienko Sep 8, 2025
e9a96d9
Fix self-review comment: change return type of main() to int
SergeyKopienko Sep 8, 2025
99c40e6
Merge branch 'main' into dev/mdvorski/ranges_algo_L2_set-origin_UXL
SergeyKopienko Sep 8, 2025
42213b0
Merge branch 'main' into dev/mdvorski/ranges_algo_L2_set-origin_UXL
SergeyKopienko Sep 8, 2025
1ac74f9
include/oneapi/dpl/pstl/parallel_backend_utils.h - add empty line bef…
SergeyKopienko Sep 8, 2025
f9c6358
Document the new algorithms
dmitriy-sobolev Sep 8, 2025
a5d4e34
Merge branch 'dev/mdvorski/ranges_algo_L2_set-origin_UXL' into dev/dm…
SergeyKopienko Sep 8, 2025
3629935
Merge branch 'main' into dev/mdvorski/ranges_algo_L2_set-origin_UXL
SergeyKopienko Sep 8, 2025
ceba339
Merge branch 'dev/mdvorski/ranges_algo_L2_set-origin_UXL' into dev/dm…
SergeyKopienko Sep 9, 2025
e73d68a
Using oneapi::dpl::__ranges::__min_size_calc
SergeyKopienko Sep 10, 2025
9ea5c32
Merge branch 'dev/mdvorski/ranges_algo_L2_set-origin_UXL' into dev/dm…
SergeyKopienko Sep 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/ci-testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ on:
branches:
- main
- 'release/**'
- dev/mdvorski/ranges_algo_L2_set-origin_UXL
paths:
- '.github/**/*'
- 'cmake/**/*'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -105,8 +105,13 @@ If ``ONEDPL_HAS_RANGE_ALGORITHMS`` is defined to ``202505L`` or a greater value,

If ``ONEDPL_HAS_RANGE_ALGORITHMS`` is defined to ``202509L`` or a greater value, the following algorithms are provided:

* ``includes``
* ``reverse``
* ``reverse_copy``
* ``set_difference``
* ``set_intersection``
* ``set_symmetric_difference``
* ``set_union``
* ``unique``
* ``unique_copy``
* ``swap_ranges``
Expand Down
152 changes: 87 additions & 65 deletions include/oneapi/dpl/pstl/algorithm_impl.h

Large diffs are not rendered by default.

768 changes: 767 additions & 1 deletion include/oneapi/dpl/pstl/algorithm_ranges_impl.h

Large diffs are not rendered by default.

147 changes: 147 additions & 0 deletions include/oneapi/dpl/pstl/glue_algorithm_ranges_impl.h
Original file line number Diff line number Diff line change
Expand Up @@ -795,6 +795,153 @@ struct __merge_fn

inline constexpr __internal::__merge_fn merge;

// [includes]
namespace __internal
{
struct __includes_fn
{
template <typename _ExecutionPolicy, std::ranges::random_access_range _R1, std::ranges::random_access_range _R2,
typename _Proj1 = std::identity, typename _Proj2 = std::identity,
std::indirect_strict_weak_order<std::projected<std::ranges::iterator_t<_R1>, _Proj1>,
std::projected<std::ranges::iterator_t<_R2>, _Proj2>>
_Comp = std::ranges::less>
requires oneapi::dpl::is_execution_policy_v<std::remove_cvref_t<_ExecutionPolicy>> &&
std::ranges::sized_range<_R1> && std::ranges::sized_range<_R2>

bool
operator()(_ExecutionPolicy&& __exec, _R1&& __r1, _R2&& __r2, _Comp __comp = {}, _Proj1 __proj1 = {},
_Proj2 __proj2 = {}) const
{
const auto __dispatch_tag = oneapi::dpl::__ranges::__select_backend(__exec);
return oneapi::dpl::__internal::__ranges::__pattern_includes(
__dispatch_tag, std::forward<_ExecutionPolicy>(__exec), std::forward<_R1>(__r1), std::forward<_R2>(__r2),
__comp, __proj1, __proj2);
}
}; //__includes_fn
} // namespace __internal

inline constexpr __internal::__includes_fn includes;

// [set.union]
namespace __internal
{
struct __set_union_fn
{
template <typename _ExecutionPolicy, std::ranges::random_access_range _R1, std::ranges::random_access_range _R2,
std::ranges::random_access_range _OutRange, typename _Comp = std::ranges::less,
typename _Proj1 = std::identity, typename _Proj2 = std::identity>
requires oneapi::dpl::is_execution_policy_v<std::remove_cvref_t<_ExecutionPolicy>> &&
std::ranges::sized_range<_R1> && std::ranges::sized_range<_R2> &&
std::ranges::sized_range<_OutRange> &&
std::mergeable<std::ranges::iterator_t<_R1>, std::ranges::iterator_t<_R2>,
std::ranges::iterator_t<_OutRange>, _Comp, _Proj1, _Proj2>

std::ranges::set_union_result<std::ranges::borrowed_iterator_t<_R1>, std::ranges::borrowed_iterator_t<_R2>,
std::ranges::borrowed_iterator_t<_OutRange>>
operator()(_ExecutionPolicy&& __exec, _R1&& __r1, _R2&& __r2, _OutRange&& __out_r, _Comp __comp = {},
_Proj1 __proj1 = {}, _Proj2 __proj2 = {}) const
{
const auto __dispatch_tag = oneapi::dpl::__ranges::__select_backend(__exec);
return oneapi::dpl::__internal::__ranges::__pattern_set_union(
__dispatch_tag, std::forward<_ExecutionPolicy>(__exec), std::forward<_R1>(__r1), std::forward<_R2>(__r2),
std::forward<_OutRange>(__out_r), __comp, __proj1, __proj2);
}
}; //__set_union_fn
} // namespace __internal

inline constexpr __internal::__set_union_fn set_union;

// [set.intersection]

namespace __internal
{
struct __set_intersection_fn
{
template <typename _ExecutionPolicy, std::ranges::random_access_range _R1, std::ranges::random_access_range _R2,
std::ranges::random_access_range _OutRange, typename _Comp = std::ranges::less,
typename _Proj1 = std::identity, typename _Proj2 = std::identity>
requires oneapi::dpl::is_execution_policy_v<std::remove_cvref_t<_ExecutionPolicy>> &&
std::ranges::sized_range<_R1> && std::ranges::sized_range<_R2> &&
std::ranges::sized_range<_OutRange> &&
std::mergeable<std::ranges::iterator_t<_R1>, std::ranges::iterator_t<_R2>,
std::ranges::iterator_t<_OutRange>, _Comp, _Proj1, _Proj2>

std::ranges::set_intersection_result<std::ranges::borrowed_iterator_t<_R1>, std::ranges::borrowed_iterator_t<_R2>,
std::ranges::borrowed_iterator_t<_OutRange>>
operator()(_ExecutionPolicy&& __exec, _R1&& __r1, _R2&& __r2, _OutRange&& __out_r, _Comp __comp = {},
_Proj1 __proj1 = {}, _Proj2 __proj2 = {}) const
{
const auto __dispatch_tag = oneapi::dpl::__ranges::__select_backend(__exec);
return oneapi::dpl::__internal::__ranges::__pattern_set_intersection(
__dispatch_tag, std::forward<_ExecutionPolicy>(__exec), std::forward<_R1>(__r1), std::forward<_R2>(__r2),
std::forward<_OutRange>(__out_r), __comp, __proj1, __proj2);
}
}; //__set_intersection_fn
} // namespace __internal

inline constexpr __internal::__set_intersection_fn set_intersection;

// [set.difference]

namespace __internal
{
struct __set_difference_fn
{
template <typename _ExecutionPolicy, std::ranges::random_access_range _R1, std::ranges::random_access_range _R2,
std::ranges::random_access_range _OutRange, typename _Comp = std::ranges::less,
typename _Proj1 = std::identity, typename _Proj2 = std::identity>
requires oneapi::dpl::is_execution_policy_v<std::remove_cvref_t<_ExecutionPolicy>> &&
std::ranges::sized_range<_R1> && std::ranges::sized_range<_R2> &&
std::ranges::sized_range<_OutRange> &&
std::mergeable<std::ranges::iterator_t<_R1>, std::ranges::iterator_t<_R2>,
std::ranges::iterator_t<_OutRange>, _Comp, _Proj1, _Proj2>

std::ranges::set_difference_result<std::ranges::borrowed_iterator_t<_R1>,
std::ranges::borrowed_iterator_t<_OutRange>>
operator()(_ExecutionPolicy&& __exec, _R1&& __r1, _R2&& __r2, _OutRange&& __out_r, _Comp __comp = {},
_Proj1 __proj1 = {}, _Proj2 __proj2 = {}) const
{
const auto __dispatch_tag = oneapi::dpl::__ranges::__select_backend(__exec);
return oneapi::dpl::__internal::__ranges::__pattern_set_difference(
__dispatch_tag, std::forward<_ExecutionPolicy>(__exec), std::forward<_R1>(__r1), std::forward<_R2>(__r2),
std::forward<_OutRange>(__out_r), __comp, __proj1, __proj2);
}
}; //__set_difference_fn
} // namespace __internal

inline constexpr __internal::__set_difference_fn set_difference;

// [set.symmetric.difference]

namespace __internal
{
struct __set_symmetric_difference_fn
{
template <typename _ExecutionPolicy, std::ranges::random_access_range _R1, std::ranges::random_access_range _R2,
std::ranges::random_access_range _OutRange, typename _Comp = std::ranges::less,
typename _Proj1 = std::identity, typename _Proj2 = std::identity>
requires oneapi::dpl::is_execution_policy_v<std::remove_cvref_t<_ExecutionPolicy>> &&
std::ranges::sized_range<_R1> && std::ranges::sized_range<_R2> &&
std::ranges::sized_range<_OutRange> &&
std::mergeable<std::ranges::iterator_t<_R1>, std::ranges::iterator_t<_R2>,
std::ranges::iterator_t<_OutRange>, _Comp, _Proj1, _Proj2>

std::ranges::set_symmetric_difference_result<std::ranges::borrowed_iterator_t<_R1>,
std::ranges::borrowed_iterator_t<_R2>,
std::ranges::borrowed_iterator_t<_OutRange>>
operator()(_ExecutionPolicy&& __exec, _R1&& __r1, _R2&& __r2, _OutRange&& __out_r, _Comp __comp = {},
_Proj1 __proj1 = {}, _Proj2 __proj2 = {}) const
{
const auto __dispatch_tag = oneapi::dpl::__ranges::__select_backend(__exec);
return oneapi::dpl::__internal::__ranges::__pattern_set_symmetric_difference(
__dispatch_tag, std::forward<_ExecutionPolicy>(__exec), std::forward<_R1>(__r1), std::forward<_R2>(__r2),
std::forward<_OutRange>(__out_r), __comp, __proj1, __proj2);
}
}; //__set_symmetric_difference_fn
} // namespace __internal

inline constexpr __internal::__set_symmetric_difference_fn set_symmetric_difference;

// [alg.fill]

namespace __internal
Expand Down
4 changes: 2 additions & 2 deletions include/oneapi/dpl/pstl/hetero/algorithm_impl_hetero.h
Original file line number Diff line number Diff line change
Expand Up @@ -1475,7 +1475,7 @@ __pattern_includes(__hetero_tag<_BackendTag>, _ExecutionPolicy&& __exec, _Forwar
if (__n1 == 0 || __n2 > __n1)
return false;

using __brick_include_type = unseq_backend::__brick_includes<_Compare, decltype(__n1), decltype(__n2)>;
using __brick_includes_t = unseq_backend::__brick_includes<decltype(__n2), decltype(__n1), _Compare>;
using _TagType = __par_backend_hetero::__parallel_or_tag;
using __size_calc = oneapi::dpl::__ranges::__first_size_calc;

Expand All @@ -1484,7 +1484,7 @@ __pattern_includes(__hetero_tag<_BackendTag>, _ExecutionPolicy&& __exec, _Forwar
auto __buf2 = __keep(__first2, __last2);

return !oneapi::dpl::__par_backend_hetero::__parallel_find_or(_BackendTag{}, std::forward<_ExecutionPolicy>(__exec),
__brick_include_type{__comp, __n1, __n2}, _TagType{},
__brick_includes_t{__n2, __n1, __comp}, _TagType{},
__size_calc{}, __buf2.all_view(), __buf1.all_view());
}

Expand Down
Loading
Loading