10 struct maximum {
const U& operator()(
const U& x,
const U& y)
const {
return std::max(x,y); } };
12 struct minimum {
const U& operator()(
const U& x,
const U& y)
const {
return std::min(x,y); } };
17 template<
class T>
struct mpi_op {
static MPI_Op
get(); };
18 template<
class U>
struct mpi_op< maximum<U> > {
static MPI_Op
get() {
return MPI_MAX; } };
19 template<
class U>
struct mpi_op< minimum<U> > {
static MPI_Op
get() {
return MPI_MIN; } };
20 template<
class U>
struct mpi_op< std::plus<U> > {
static MPI_Op
get() {
return MPI_SUM; } };
21 template<
class U>
struct mpi_op< std::multiplies<U> > {
static MPI_Op
get() {
return MPI_PROD; } };
22 template<
class U>
struct mpi_op< std::logical_and<U> > {
static MPI_Op
get() {
return MPI_LAND; } };
23 template<
class U>
struct mpi_op< std::logical_or<U> > {
static MPI_Op
get() {
return MPI_LOR; } };
Definition: operations.hpp:10
Definition: operations.hpp:12