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