1// -*- C++ -*- 2//===----------------------------------------------------------------------===// 3// 4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 5// See https://llvm.org/LICENSE.txt for license information. 6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7// 8//===----------------------------------------------------------------------===// 9 10export namespace std { 11 // [accumulate], accumulate 12 using std::accumulate; 13 14 // [reduce], reduce 15 using std::reduce; 16 17 // [inner.product], inner product 18 using std::inner_product; 19 20 // [transform.reduce], transform reduce 21 using std::transform_reduce; 22 23 // [partial.sum], partial sum 24 using std::partial_sum; 25 26 // [exclusive.scan], exclusive scan 27 using std::exclusive_scan; 28 29 // [inclusive.scan], inclusive scan 30 using std::inclusive_scan; 31 32 // [transform.exclusive.scan], transform exclusive scan 33 using std::transform_exclusive_scan; 34 35 // [transform.inclusive.scan], transform inclusive scan 36 using std::transform_inclusive_scan; 37 38 // [adjacent.difference], adjacent difference 39 using std::adjacent_difference; 40 41 // [numeric.iota], iota 42 using std::iota; 43 44 namespace ranges { 45 // using std::ranges::iota_result; 46 // using std::ranges::iota; 47 } // namespace ranges 48 49 // [numeric.ops.gcd], greatest common divisor 50 using std::gcd; 51 52 // [numeric.ops.lcm], least common multiple 53 using std::lcm; 54 55 // [numeric.ops.midpoint], midpoint 56 using std::midpoint; 57 58#if _LIBCPP_STD_VER >= 26 59 // [numeric.sat], saturation arithmetic 60 using std::add_sat; 61 using std::div_sat; 62 using std::mul_sat; 63 using std::saturate_cast; 64 using std::sub_sat; 65#endif 66 67} // namespace std 68