| // -*- C++ -*- | |
| //===----------------------------------------------------------------------===// | |
| // | |
| // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | |
| // See https://llvm.org/LICENSE.txt for license information. | |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
| // | |
| //===----------------------------------------------------------------------===// | |
| export namespace std { | |
| // [accumulate], accumulate | |
| using std::accumulate; | |
| // [reduce], reduce | |
| using std::reduce; | |
| // [inner.product], inner product | |
| using std::inner_product; | |
| // [transform.reduce], transform reduce | |
| using std::transform_reduce; | |
| // [partial.sum], partial sum | |
| using std::partial_sum; | |
| // [exclusive.scan], exclusive scan | |
| using std::exclusive_scan; | |
| // [inclusive.scan], inclusive scan | |
| using std::inclusive_scan; | |
| // [transform.exclusive.scan], transform exclusive scan | |
| using std::transform_exclusive_scan; | |
| // [transform.inclusive.scan], transform inclusive scan | |
| using std::transform_inclusive_scan; | |
| // [adjacent.difference], adjacent difference | |
| using std::adjacent_difference; | |
| // [numeric.iota], iota | |
| using std::iota; | |
| namespace ranges { | |
| #if _LIBCPP_STD_VER >= 23 | |
| using std::ranges::iota; | |
| using std::ranges::iota_result; | |
| #endif // _LIBCPP_STD_VER >= 23 | |
| } // namespace ranges | |
| // [numeric.ops.gcd], greatest common divisor | |
| using std::gcd; | |
| // [numeric.ops.lcm], least common multiple | |
| using std::lcm; | |
| // [numeric.ops.midpoint], midpoint | |
| using std::midpoint; | |
| #if _LIBCPP_STD_VER >= 26 | |
| // [numeric.sat], saturation arithmetic | |
| using std::saturating_add; | |
| using std::saturating_cast; | |
| using std::saturating_div; | |
| using std::saturating_mul; | |
| using std::saturating_sub; | |
| #endif | |
| } // namespace std |