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 10module; 11#include <numeric> 12 13export module std:numeric; 14export namespace std { 15 // [accumulate], accumulate 16 using std::accumulate; 17 18 // [reduce], reduce 19 using std::reduce; 20 21 // [inner.product], inner product 22 using std::inner_product; 23 24 // [transform.reduce], transform reduce 25 using std::transform_reduce; 26 27 // [partial.sum], partial sum 28 using std::partial_sum; 29 30 // [exclusive.scan], exclusive scan 31 using std::exclusive_scan; 32 33 // [inclusive.scan], inclusive scan 34 using std::inclusive_scan; 35 36 // [transform.exclusive.scan], transform exclusive scan 37 using std::transform_exclusive_scan; 38 39 // [transform.inclusive.scan], transform inclusive scan 40 using std::transform_inclusive_scan; 41 42 // [adjacent.difference], adjacent difference 43 using std::adjacent_difference; 44 45 // [numeric.iota], iota 46 using std::iota; 47 48 namespace ranges { 49 // using std::ranges::iota_result; 50 // using std::ranges::iota; 51 } // namespace ranges 52 53 // [numeric.ops.gcd], greatest common divisor 54 using std::gcd; 55 56 // [numeric.ops.lcm], least common multiple 57 using std::lcm; 58 59 // [numeric.ops.midpoint], midpoint 60 using std::midpoint; 61} // namespace std 62