Go to the documentation of this file.
17 #ifndef __ESCRIPT_ABSTRACTREDUCER_H__
18 #define __ESCRIPT_ABSTRACTREDUCER_H__
20 #include <escript/Data.h>
21 #include <escript/EsysMPI.h>
23 #include <boost/shared_ptr.hpp>
29 namespace reducerstatus
33 const unsigned char NONE=0;
35 const unsigned char OLD=2;
37 const unsigned char NEW=4;
70 virtual bool groupSend(
MPI_Comm& com,
bool imsending)=0;
73 virtual bool groupReduce(
MPI_Comm& com,
char mystate)=0;
98 virtual bool sendTo(
int localid,
int target,
JMPI& mpiinfo)=0;
107 virtual void clear();
122 #endif // __ESCRIPT_ABSTRACTREDUCER_H__
Definition: AbstractReducer.h:43
virtual bool sendTo(int localid, int target, JMPI &mpiinfo)=0
const unsigned char NONE
Definition: AbstractReducer.h:33
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:34
boost::shared_ptr< AbstractReducer > Reducer_ptr
Definition: AbstractReducer.h:118
virtual bool checkRemoteCompatibility(JMPI &mpi_info, std::string &errstring)=0
virtual double getDouble()
Definition: AbstractReducer.cpp:29
const unsigned char OLD
Definition: AbstractReducer.h:35
boost::shared_ptr< JMPI_ > JMPI
Definition: EsysMPI.h:72
Definition: SplitWorldException.h:29
bool had_an_export_this_round
Definition: AbstractReducer.h:113
const unsigned char OLDINTERESTED
Definition: AbstractReducer.h:36
virtual ~AbstractReducer()
Definition: AbstractReducer.h:45
virtual bool reduceLocalValue(boost::python::object v, std::string &errstring)=0
static const int PARAMTAG
Definition: AbstractReducer.h:114
virtual boost::python::object getPyObj()=0
virtual void setDomain(Domain_ptr dom)
Definition: AbstractReducer.h:64
virtual bool valueCompatible(boost::python::object v)=0
const unsigned char ERROR
Definition: AbstractReducer.h:38
Definition: AbstractContinuousDomain.cpp:23
const unsigned char NEW
Definition: AbstractReducer.h:37
int MPI_Comm
Definition: EsysMPI.h:42
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:112
virtual bool canClash()
Definition: AbstractReducer.cpp:44
virtual void newRunJobs()
Definition: AbstractReducer.cpp:39
bool hasValue()
Definition: AbstractReducer.cpp:24