changa  3.5
 All Classes Files Functions Variables Typedefs Enumerations Friends Macros Groups Pages
codes.h
1 /* values returned by compute object to tree walk object */
2 #ifndef CODES_H
3 #define CODES_H
4 
5 #define KEEP 0 // descend further down this path
6 #define KEEP_REMOTE_BUCKET 6 // request particles of a remote bucket
7 #define KEEP_LOCAL_BUCKET 7 // directly access particles of a local bucket
8 #define DUMP 1 // no need to descend down this path
9 #define ERROR 2
10 
11 /* values, in addition to the ones above
12  * returned by optimzation object to compute object */
13 #define NOP 3
14 #define COMPUTE 4
15 // opt. object doesn't know enough about the context of the computation
16 // this happens when we have to check whether a cached node's ancestors
17 // haven't already been involved in a computation - an ancestor check must
18 // be performed, based on which the compute obj. makes a decision
19 #define DEFER 5
20 
21 #define INTERSECT -1
22 #define CONTAIN 1
23 #define NO_INTERSECT 0
24 
25 enum WalkType {TopDown, LocalTarget, BottomUp, BucketIterator, InvalidWalk};
26 enum ComputeType {Gravity, Prefetch, List, BucketEwald, Smooth, ReSmooth,
27  InvalidCompute};
28 
29 enum OptType {Local, Remote, Pref, Double, PushGravity, InvalidOpt};
30 
31 #ifdef BIGKEYS
32 #define INTERLIST_LEVELS 128
33 #else
34 #define INTERLIST_LEVELS 64
35 #endif
36 
37 #define NUM_NODE_TYPES 11
38 
39 // debug
40 #ifdef CHANGA_REFACTOR_WALKCHECK
41 #define CHECK_INDEX 1
42 #define CHECK_BUCKET 16
43 #endif
44 
45 #define TEST_BUCKET 0
46 #define TEST_TP 0
47 #endif // CODES_H