43 T inf = std::numeric_limits<T>::max();
53struct BoolCopy2ndSRing
59 std::cout <<
"Add should not happen (BoolCopy2ndSRing)!" << std::endl;
60 throw std::string(
"Add should not happen!");
76 static bool exists =
false;
91 std::cout <<
"MPI Add should not happen (BoolCopy2ndSRing)!" << std::endl;
99struct BoolCopy1stSRing
105 std::cout <<
"Add should not happen (BoolCopy1stSRing)!" << std::endl;
106 throw std::string(
"Add should not happen!");
122 static bool exists =
false;
137 std::cout <<
"MPI Add should not happen (BoolCopy1stSRing)!" << std::endl;
145template <
class T1,
class T2,
class OUT>
167template <
class T1,
class T2>
194struct SelectMaxSRing<bool, T2>
214template <
class T1,
class T2>
237template <
class T1,
class T2>
241 static T_promote id() {
return std::numeric_limits<T_promote>::max(); };
static const OUT & multiply(const OUT &arg1, bool arg2)
static OUT add(const OUT &arg1, const OUT &arg2)
static void axpy(const OUT &a, bool x, OUT &y)
static bool returnedSAID()
static void MPI_func(void *invec, void *inoutvec, int *len, MPI_Datatype *datatype)
static bool returnedSAID()
static const OUT & multiply(bool arg1, const OUT &arg2)
static void MPI_func(void *invec, void *inoutvec, int *len, MPI_Datatype *datatype)
static OUT add(const OUT &arg1, const OUT &arg2)
static void axpy(bool a, const OUT &x, OUT &y)
promote_trait< T1, T2 >::T_promote T_promote
static T_promote multiply(const T1 &arg1, const T2 &arg2)
static T_promote add(const T_promote &arg1, const T_promote &arg2)
static bool returnedSAID()
static void axpy(T1 a, const T2 &x, T_promote &y)
static T_promote multiply(const T1 &arg1, const T2 &arg2)
static T_promote add(const T_promote &arg1, const T_promote &arg2)
promote_trait< T1, T2 >::T_promote T_promote
static void axpy(T1 a, const T2 &x, T_promote &y)
static bool returnedSAID()
static void axpy(T1 a, const T2 &x, OUT &y)
static bool returnedSAID()
static OUT multiply(const T1 &arg1, const T2 &arg2)
static OUT add(const OUT &arg1, const OUT &arg2)
static bool returnedSAID()
static T_promote add(const T_promote &arg1, const T_promote &arg2)
static void axpy(bool a, const T2 &x, T_promote &y)
static T_promote multiply(const bool &arg1, const T2 &arg2)
static T_promote multiply(const T1 &arg1, const T2 &arg2)
static void axpy(T1 a, const T2 &x, T_promote &y)
static bool returnedSAID()
static T_promote add(const T_promote &arg1, const T_promote &arg2)
promote_trait< T1, T2 >::T_promote T_promote
T operator()(const T &a, const T &b) const