36#undef Pstream_CommonRoutines
37#define Pstream_CommonRoutines(Type) \
38void Foam::UPstream::allToAll \
40 const UList<Type>& sendData, \
41 UList<Type>& recvData, \
42 const int communicator \
45 recvData.deepCopy(sendData); \
52#undef Pstream_CommonRoutines
57#undef Pstream_CommonRoutines
58#define Pstream_CommonRoutines(Type) \
59void Foam::UPstream::allToAllConsensus \
61 const UList<Type>& sendData, \
62 UList<Type>& recvData, \
64 const int communicator \
67 recvData.deepCopy(sendData); \
69void Foam::UPstream::allToAllConsensus \
71 const Map<Type>& sendData, \
72 Map<Type>& recvData, \
74 const int communicator \
77 recvData = sendData; \
84#undef Pstream_CommonRoutines
89#undef Pstream_CommonRoutines
90#define Pstream_CommonRoutines(Type) \
91void Foam::UPstream::allToAllv \
93 const Type* sendData, \
94 const UList<int>& sendCounts, \
95 const UList<int>& sendOffsets, \
97 const UList<int>& recvCounts, \
98 const UList<int>& recvOffsets, \
99 const int communicator \
102 if (recvCounts[0] != sendCounts[0]) \
104 FatalErrorInFunction \
105 << "Number to send " << sendCounts[0] \
106 << " does not equal number to receive " << recvCounts[0] \
107 << Foam::abort(FatalError); \
109 std::memmove(recvData, sendData, recvCounts[0]*sizeof(Type)); \
115#undef Pstream_CommonRoutines
#define Pstream_CommonRoutines(Type)