Add the initializes attribute inference (#117104)
[llvm-project.git] / libcxx / modules / std / numeric.inc
blob3bc7b231681584119da0c92ead54b3493305c6b9
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 //===----------------------------------------------------------------------===//
10 export namespace std {
11   // [accumulate], accumulate
12   using std::accumulate;
14   // [reduce], reduce
15   using std::reduce;
17   // [inner.product], inner product
18   using std::inner_product;
20   // [transform.reduce], transform reduce
21   using std::transform_reduce;
23   // [partial.sum], partial sum
24   using std::partial_sum;
26   // [exclusive.scan], exclusive scan
27   using std::exclusive_scan;
29   // [inclusive.scan], inclusive scan
30   using std::inclusive_scan;
32   // [transform.exclusive.scan], transform exclusive scan
33   using std::transform_exclusive_scan;
35   // [transform.inclusive.scan], transform inclusive scan
36   using std::transform_inclusive_scan;
38   // [adjacent.difference], adjacent difference
39   using std::adjacent_difference;
41   // [numeric.iota], iota
42   using std::iota;
44   namespace ranges {
45     // using std::ranges::iota_result;
46     // using std::ranges::iota;
47   } // namespace ranges
49   // [numeric.ops.gcd], greatest common divisor
50   using std::gcd;
52   // [numeric.ops.lcm], least common multiple
53   using std::lcm;
55   // [numeric.ops.midpoint], midpoint
56   using std::midpoint;
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
67 } // namespace std