![]() |
Block-Structured AMR Software Framework
|
#include <AMReX_Config.H>#include <AMReX_Concepts.H>#include <AMReX_Gpu.H>#include <AMReX_Arena.H>#include <AMReX_OpenMP.H>#include <AMReX_MFIter.H>#include <AMReX_TypeList.H>#include <AMReX_ValLocPair.H>#include <algorithm>#include <concepts>#include <functional>#include <limits>Go to the source code of this file.
Classes | |
| struct | amrex::ReduceOpSum |
| struct | amrex::ReduceOpMin |
| struct | amrex::ReduceOpMax |
| struct | amrex::ReduceOpLogicalAnd |
| struct | amrex::ReduceOpLogicalOr |
| class | amrex::ReduceData< Ts > |
| class | amrex::ReduceOps< Ps > |
| class | amrex::Reducer< Ops, Ts > |
| Class for local reductions (e.g., sum, min and max). More... | |
Namespaces | |
| namespace | amrex |
| namespace | amrex::Reduce |
Functions | |
| template<typename T , std::integral N> | |
| T | amrex::Reduce::Sum (N n, T const *v, T init_val=0) |
| Compute the sum of an array of values. | |
| template<typename T , std::integral N, typename F > requires (!std::same_as<T*,std::decay_t<F>>) | |
| T | amrex::Reduce::Sum (N n, F const &f, T init_val=0) |
| Compute the sum of values generated by a callable. | |
| template<typename T , std::integral N> | |
| T | amrex::Reduce::Min (N n, T const *v, T init_val=std::numeric_limits< T >::max()) |
| Compute the minimum of an array of values. | |
| template<typename T , std::integral N, typename F > requires (!std::same_as<T*,std::decay_t<F>>) | |
| T | amrex::Reduce::Min (N n, F const &f, T init_val=std::numeric_limits< T >::max()) |
| Compute the minimum of values generated by a callable. | |
| template<typename T , std::integral N> | |
| T | amrex::Reduce::Max (N n, T const *v, T init_val=std::numeric_limits< T >::lowest()) |
| Compute the maximum of an array of values. | |
| template<typename T , std::integral N, typename F > requires (!std::same_as<T*,std::decay_t<F>>) | |
| T | amrex::Reduce::Max (N n, F const &f, T init_val=std::numeric_limits< T >::lowest()) |
| Compute the maximum of values generated by a callable. | |
| template<typename T , std::integral N> | |
| std::pair< T, T > | amrex::Reduce::MinMax (N n, T const *v) |
| Compute the minimum and maximum of an array of values. | |
| template<typename T , std::integral N, typename F > requires (!std::same_as<T*,std::decay_t<F>>) | |
| std::pair< T, T > | amrex::Reduce::MinMax (N n, F const &f) |
| Compute the minimum and maximum of values generated by a callable. | |
| template<typename T , std::integral N, typename P > | |
| bool | amrex::Reduce::AnyOf (N n, T const *v, P const &pred) |
| Test whether any element in an array satisfies a unary predicate. | |
| template<typename P , int dim> | |
| bool | amrex::Reduce::AnyOf (BoxND< dim > const &box, P const &pred) |
| Test whether the predicate is true for any index in a Box. | |
| template<typename... Ts, typename... Ps> | |
| __host__ __device__ constexpr GpuTuple< Ts... > | amrex::IdentityTuple (GpuTuple< Ts... >, ReduceOps< Ps... >) noexcept |
| Return a GpuTuple containing the identity element for each operation in ReduceOps. For example 0, +inf and -inf for ReduceOpSum, ReduceOpMin and ReduceOpMax respectively. | |
| template<typename... Ts, typename... Ps> | |
| __host__ __device__ constexpr GpuTuple< Ts... > | amrex::IdentityTuple (GpuTuple< Ts... >, TypeList< Ps... >) noexcept |
| Return a GpuTuple containing the identity element for each ReduceOp in TypeList. For example 0, +inf and -inf for ReduceOpSum, ReduceOpMin and ReduceOpMax respectively. | |