44#define PF_TERM_MSGTAG 10
45#define PF_ENDSORT_MSGTAG 11
46#define PF_DOLLAR_MSGTAG 12
47#define PF_BUFFER_MSGTAG 20
48#define PF_ENDBUFFER_MSGTAG 21
49#define PF_READY_MSGTAG 30
50#define PF_DATA_MSGTAG 50
51#define PF_EMPTY_MSGTAG 52
52#define PF_STDOUT_MSGTAG 60
53#define PF_LOG_MSGTAG 61
54#define PF_OPT_MCTS_MSGTAG 70
55#define PF_OPT_HORNER_MSGTAG 71
56#define PF_OPT_COLLECT_MSGTAG 72
57#define PF_MISC_MSGTAG 100
62#if defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__)
63# define GNUC_PREREQ(major, minor, patchlevel) \
64 ((__GNUC__ << 16) + (__GNUC_MINOR__ << 8) + __GNUC_PATCHLEVEL__ >= \
65 ((major) << 16) + ((minor) << 8) + (patchlevel))
67# define GNUC_PREREQ(major, minor, patchlevel) 0
77#if GNUC_PREREQ(4, 6, 0)
78# pragma GCC diagnostic push
79# pragma GCC diagnostic ignored "-Wpadded"
80# pragma GCC diagnostic ignored "-Wunused-parameter"
82#if defined(__clang__) && defined(__has_warning)
83# pragma clang diagnostic push
84# if __has_warning("-Wpadded")
85# pragma clang diagnostic ignored "-Wpadded"
87# if __has_warning("-Wunused-parameter")
88# pragma clang diagnostic ignored "-Wunused-parameter"
111#define indices ((INDICES)(AC.IndexList.lijst))
114#if GNUC_PREREQ(4, 6, 0)
115# pragma GCC diagnostic pop
117#if defined(__clang__) && defined(__has_warning)
118# pragma clang diagnostic pop
121# define PF_ANY_SOURCE MPI_ANY_SOURCE
122# define PF_ANY_MSGTAG MPI_ANY_TAG
123# define PF_COMM MPI_COMM_WORLD
124# define PF_BYTE MPI_BYTE
125# define PF_INT MPI_INT
127# define PF_WORD MPI_SHORT
128# define PF_LONG MPI_LONG
130# define PF_WORD MPI_INT
131# define PF_LONG MPI_LONG_LONG_INT
133# define PF_WORD MPI_INT
134# define PF_LONG MPI_LONG
153 MPI_Request *request;
184 PADPOSITION(2,0,8,2,0);
187extern PARALLELVARS PF;
190extern LONG PF_maxDollarChunkSize;
200extern int PF_Bcast(
void *buffer,
int count);
202extern LONG
PF_RawRecv(
int *,
void *,LONG,
int *);
205extern int PF_Pack(
const void *buffer,
size_t count, MPI_Datatype type);
206extern int PF_Unpack(
void *buffer,
size_t count, MPI_Datatype type);
209extern int PF_Send(
int to,
int tag);
210extern int PF_Receive(
int src,
int tag,
int *psrc,
int *ptag);
214extern int PF_LongSinglePack(
const void *buffer,
size_t count, MPI_Datatype type);
220extern int PF_LongMultiPackImpl(
const void *buffer,
size_t count,
size_t eSize, MPI_Datatype type);
224static inline size_t sizeof_datatype(MPI_Datatype type)
226 if ( type == PF_BYTE )
return sizeof(char);
227 if ( type == PF_INT )
return sizeof(int);
228 if ( type == PF_WORD )
return sizeof(WORD);
229 if ( type == PF_LONG )
return sizeof(LONG);
233#define PF_LongMultiPack(buffer, count, type) PF_LongMultiPackImpl(buffer, count, sizeof_datatype(type), type)
234#define PF_LongMultiUnpack(buffer, count, type) PF_LongMultiUnpackImpl(buffer, count, sizeof_datatype(type), type)
240extern int PF_Init(
int*,
char ***);
252extern int PF_StoreInsideInfo(
void);
253extern int PF_RestoreInsideInfo(
void);
int PF_LongSingleReceive(int src, int tag, int *psrc, int *ptag)
int PF_PackString(const UBYTE *str)
int PF_BroadcastPreDollar(WORD **, LONG *, int *)
int PF_RawSend(int, void *, LONG, int)
int PF_LongSingleSend(int to, int tag)
WORD PF_Deferred(WORD *, WORD)
int PF_Processor(EXPRESSIONS, WORD, WORD)
int PF_BroadcastRedefinedPreVars(void)
int PF_PrepareLongSinglePack(void)
int PF_BroadcastRHS(void)
int PF_Unpack(void *buffer, size_t count, MPI_Datatype type)
int PF_BroadcastString(UBYTE *)
int PF_Receive(int src, int tag, int *psrc, int *ptag)
LONG PF_GetSlaveTimes(void)
int PF_BroadcastExpFlags(void)
int PF_Send(int to, int tag)
int PF_BroadcastModifiedDollars(void)
int PF_Init(int *, char ***)
int PF_ISendSbuf(int, int)
int PF_BroadcastCBuf(int bufnum)
void PF_BroadcastBuffer(WORD **buffer, LONG *length)
int PF_LongSingleUnpack(void *buffer, size_t count, MPI_Datatype type)
int PF_Pack(const void *buffer, size_t count, MPI_Datatype type)
int PF_PrepareLongMultiPack(void)
int PF_CollectModifiedDollars(void)
int PF_LongMultiPackImpl(const void *buffer, size_t count, size_t eSize, MPI_Datatype type)
int PF_RecvFile(int from, FILE *fd)
int PF_LongMultiBroadcast(void)
int PF_UnpackString(UBYTE *str)
void PF_FlushStdOutBuffer(void)
LONG PF_WriteFileToFile(int, UBYTE *, LONG)
LONG PF_BroadcastNumber(LONG)
LONG PF_RawRecv(int *, void *, LONG, int *)
int PF_LongMultiUnpackImpl(void *buffer, size_t count, size_t eSize, MPI_Datatype type)
int PF_LongSinglePack(const void *buffer, size_t count, MPI_Datatype type)
int PF_Bcast(void *buffer, int count)
int PF_SendFile(int to, FILE *fd)
int PF_BroadcastExpr(EXPRESSIONS e, FILEHANDLE *file)
int PF_InParallelProcessor(void)