Block-Structured AMR Software Framework
Loading...
Searching...
No Matches
amrex::Reduce Namespace Reference

Functions

template<typename T , std::integral N>
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>>)
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>
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>>)
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>
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>>)
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 > 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 > 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 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 AnyOf (BoxND< dim > const &box, P const &pred)
 Test whether the predicate is true for any index in a Box.