00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef __SGN_INDICES_H_
00013 #define __SGN_INDICES_H_
00014
00015
00016 #include "utils.h"
00017 #include "stencil.h"
00018 #include "rdomain.h"
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #define D_P0 0
00029 #define D_MP0 1
00030 #define D_V0 2
00031 #define D_MV0 3
00032 #define D_V1 4
00033 #define D_MV1 5
00034 #define D_V2 6
00035 #define D_MV2 7
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050 #define D_EP0 (2 + 2 * RARR_MAX_NDIM)
00051 #define D_EV0 (D_EP0 + 1)
00052 #define D_P1 (D_EV0 + 1)
00053 #define D_EP1 (D_P1 + 1)
00054 #define D_EV1 (D_EP1 + 1)
00055 #define D_P2 (D_EV1 + 1)
00056 #define D_EP2 (D_P2 + 1)
00057 #define D_EV2 (D_EP2 + 1)
00058
00059
00060 #if RARR_MAX_NDIM == 1
00061 static const IPNT D_V = {D_V0 };
00062 static const IPNT D_MV = {D_MV0};
00063 #elif RARR_MAX_NDIM == 2
00064 static const IPNT D_V = {D_V0 , D_V1 };
00065 static const IPNT D_MV = {D_MV0, D_MV1};
00066 #elif RARR_MAX_NDIM >= 3
00067 static const IPNT D_V = {D_V0 , D_V1 , D_V2 };
00068 static const IPNT D_MV = {D_MV0, D_MV1, D_MV2};
00069 #endif
00070
00071 #if RARR_MAX_NDIM == 1
00072 static const IPNT D_P = {D_P0 };
00073 static const IPNT D_EP = {D_EP0};
00074 static const IPNT D_EV = {D_EV0};
00075 #elif RARR_MAX_NDIM == 2
00076 static const IPNT D_P = {D_P0 , D_P1 };
00077 static const IPNT D_EP = {D_EP0, D_EP1};
00078 static const IPNT D_EV = {D_EV0, D_EV1};
00079 #elif RARR_MAX_NDIM >= 3
00080 static const IPNT D_P = {D_P0 , D_P1 , D_P2 };
00081 static const IPNT D_EP = {D_EP0, D_EP1, D_EP2};
00082 static const IPNT D_EV = {D_EV0, D_EV1, D_EV2};
00083 #endif
00084
00085
00086 #endif