OpenAtom  Version1.5a
pcFwdDeclarations.h
1 #include "debug_flags.h"
2 #include "MessageDataCollator.h"
3 #include "ckcomplex.h"
4 
5 #ifndef PC_FWD_DECLARATIONS_H
6 #define PC_FWD_DECLARATIONS_H
7 
8 /// Class for paircalc config data
9 namespace cp { namespace paircalc { class pcConfig; } }
10 /// A shorter name for the namespace
11 namespace pc = cp::paircalc;
12 
13 
14 /// The type of input data as perceived by the paircalc world
15 typedef complex inputType;
16 /// Compile time decision on whether paircalc crunches complex numbers or real
17 //#define CP_PAIRCALC_USES_COMPLEX_MATH
18 #ifdef CP_PAIRCALC_USES_COMPLEX_MATH
19  /// The representation of the input data internal to the paircalc world
20  typedef complex internalType;
21 #else
22  /// The representation of the input data internal to the paircalc world
23  typedef double internalType;
24 #endif
25 /// The ratio between the input and internal data type sizes
26 #define pcDataSizeFactor ( sizeof(inputType) / sizeof(internalType) )
27 
28 
29 /// The msg carrying input data to the paircalcs
30 class paircalcInputMsg;
31 /// A template message collator
32 template <class msgType, typename dataType> class MessageDataCollator;
33 /// The type of the input msg collator
35 
36 
37 /// PC chare array proxies
38 class CProxySection_PairCalculator;
39 
40 /// Input handler chare array proxies
41 template < class leftHandlerType, class rightHandlerType > class CProxy_InputDataHandler;
42 template < class leftHandlerType, class rightHandlerType > class CProxySection_InputDataHandler;
43 
44 /// Forward declaration of the RDMA handshake token
45 struct RDMApair_GSP_PC;
46 
47 #endif // PC_FWD_DECLARATIONS_H
48 
A template message collator.
Class that buffers incoming data (via messages/RDMA) till it counts a pre-specified number of arrival...
The new message for sending input data to the PairCalculator.
Definition: pcMessages.h:117
A (hopefully) tiny token that is unique to every data sender-receiver pair, and is shared by them dur...
Definition: RDMAMessages.h:94
Input handler chare array proxies.
Useful debugging flags.