mirror-llvm-project/libcxx/include/__numeric
Michael G. Kazakov 460778b9d6
[libc++][pstl] Default implementation of parallel std::adjacent_difference (#207585)
This PR adds a "one-liner" default implementation of parallel
`std::adjacent_difference` on top of parallel binary `std::transform`.

The implementation builds two iterator ranges out of the input one, so
that a zip of these ranges yields adjacent pairs. Then performs a binary
transform to calculate and output the adjacent differences.

Part of https://github.com/llvm/llvm-project/issues/99938
2026-07-21 07:42:26 -04:00
..
accumulate.h [libc++][numeric] Applied [[nodiscard]] to <numeric> (#202770) 2026-06-16 23:40:24 +03:00
adjacent_difference.h
exclusive_scan.h
gcd_lcm.h [libc++][numeric] Applied [[nodiscard]] to <numeric> (#202770) 2026-06-16 23:40:24 +03:00
inclusive_scan.h
inner_product.h [libc++][numeric] Applied [[nodiscard]] to <numeric> (#202770) 2026-06-16 23:40:24 +03:00
iota.h
midpoint.h [libc++] Removed unused internal helper functions from the midpoint.h header (#175514) 2026-01-12 17:37:51 +02:00
partial_sum.h
pstl.h [libc++][pstl] Default implementation of parallel std::adjacent_difference (#207585) 2026-07-21 07:42:26 -04:00
ranges_iota.h [libc++] Consistently use version guards outside namespace macros (#181136) 2026-06-29 14:44:44 +02:00
reduce.h [libc++] Consistently use version guards outside namespace macros (#181136) 2026-06-29 14:44:44 +02:00
saturation_arithmetic.h [libc++][numeric] P4052R0: Renaming saturation arithmetic functions (#189574) 2026-04-12 17:21:12 +03:00
transform_exclusive_scan.h
transform_inclusive_scan.h
transform_reduce.h [libc++] Consistently use version guards outside namespace macros (#181136) 2026-06-29 14:44:44 +02:00