blob: f3ce4c2dbda341a944c7c45c5d88023b2298db2d (
plain)
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
|
/*@@
@header cctk_Faces.h
@date 11 Feb 2003
@author David Rideout
@desc
Macros for generic specification of sets of 'faces' of an
'n-cube'
@enddesc
@version $Header$
@@*/
#ifndef _CCTK_FACES_H_
#define _CCTK_FACES_H_ 1
/* Grab the main configuration info. */
#include "cctk_Config.h"
/* The set of all faces */
#if defined(CCTK_INTEGER_PRECISION_4) || defined(CCTK_INTEGER_PRECISION_8)
#define CCTK_ALL_FACES 1073741823
/* (This is 2^30-1, so it will set the 'last' 30 bits to 1.)
* (The 'top' two bits are useless because there is no unsigned int in
* Fortran, and face bits come in pairs.)
*/
#else
#define CCTK_ALL_FACES 16383
/* 2^14-1 */
#endif
/* Here will be placed macros which provide a user friendly interface
* to a general specification for expressing sets of faces of an
* n-dimensional rectangle. Each face will be assigned one bit in a
* word. Then one can bitwise-or a number of these together to
* specify a set of faces. The macros will make this user-friendly
* somehow (and accessible to Fortran).
*
* Example:
*
* #define FACE0 1>>0
* #define FACE1 1>>1
* etc.
*
* where FACE0 may be the negative x-face, FACE1 the positive x-face, etc. */
#endif /* _CCTK_FACES_H_ */
|