Go to the documentation of this file.
17 #ifndef __ESCRIPT_ABSTRACTREDUCER_H__
18 #define __ESCRIPT_ABSTRACTREDUCER_H__
21 #include <escript/Data.h>
22 #include <escript/EsysMPI.h>
24 #include <boost/shared_ptr.hpp>
30 namespace reducerstatus
34 const unsigned char NONE=0;
36 const unsigned char OLD=2;
38 const unsigned char NEW=4;
71 virtual bool groupSend(
MPI_Comm& com,
bool imsending)=0;
74 virtual bool groupReduce(
MPI_Comm& com,
char mystate)=0;
99 virtual bool sendTo(
int localid,
int target,
JMPI& mpiinfo)=0;
108 virtual void clear();
123 #endif // __ESCRIPT_ABSTRACTREDUCER_H__
Definition: AbstractReducer.h:44
virtual bool sendTo(int localid, int target, JMPI &mpiinfo)=0
const unsigned char NONE
Definition: AbstractReducer.h:34
virtual void copyValueFrom(boost::shared_ptr< AbstractReducer > &src)=0
boost::shared_ptr< AbstractDomain > Domain_ptr
Definition: AbstractDomain.h:41
virtual bool reduceRemoteValues(MPI_Comm &comm)=0
const unsigned char INTERESTED
Definition: AbstractReducer.h:35
boost::shared_ptr< AbstractReducer > Reducer_ptr
Definition: AbstractReducer.h:119
virtual bool checkRemoteCompatibility(JMPI &mpi_info, std::string &errstring)=0
virtual double getDouble()
Definition: AbstractReducer.cpp:29
const unsigned char OLD
Definition: AbstractReducer.h:36
boost::shared_ptr< JMPI_ > JMPI
Definition: EsysMPI.h:74
Definition: SplitWorldException.h:29
bool had_an_export_this_round
Definition: AbstractReducer.h:114
const unsigned char OLDINTERESTED
Definition: AbstractReducer.h:37
virtual ~AbstractReducer()
Definition: AbstractReducer.h:46
virtual bool reduceLocalValue(boost::python::object v, std::string &errstring)=0
static const int PARAMTAG
Definition: AbstractReducer.h:115
virtual boost::python::object getPyObj()=0
virtual void setDomain(Domain_ptr dom)
Definition: AbstractReducer.h:65
virtual bool valueCompatible(boost::python::object v)=0
const unsigned char ERROR
Definition: AbstractReducer.h:39
Definition: AbstractContinuousDomain.cpp:23
const unsigned char NEW
Definition: AbstractReducer.h:38
int MPI_Comm
Definition: EsysMPI.h:44
virtual std::string description()=0
virtual bool recvFrom(int localid, int source, JMPI &mpiinfo)=0
virtual void clear()
Definition: AbstractReducer.cpp:34
bool valueadded
Definition: AbstractReducer.h:113
virtual bool canClash()
Definition: AbstractReducer.cpp:44
virtual void newRunJobs()
Definition: AbstractReducer.cpp:39
bool hasValue()
Definition: AbstractReducer.cpp:24