00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef BL_ARRAYLIM_H
00024 #define BL_ARRAYLIM_H
00025
00026
00027
00028
00029
00030 #if !defined(BL_LANG_FORT)
00031
00032
00033
00034
00035
00036 #ifdef BL_USE_ARLIM
00037
00038 #error "BL_USE_ARLIM is deprecated"
00039
00040 #define ARLIM_P(x) const int*
00041 #define ARLIM(x) x
00042
00043 #else
00044
00045 #if BL_SPACEDIM==1
00046 #define ARLIM_P(x) const int&
00047 #define ARLIM(x) x[0]
00048 #elif BL_SPACEDIM==2
00049 #define ARLIM_P(x) const int&,const int&
00050 #define ARLIM(x) x[0],x[1]
00051 #elif BL_SPACEDIM==3
00052 #define ARLIM_P(x) const int&,const int&,const int&
00053 #define ARLIM(x) x[0],x[1],x[2]
00054 #endif
00055 #endif
00056
00057 #define BL_TO_FORTRAN(x) (x).dataPtr(), ARLIM((x).loVect()), ARLIM((x).hiVect())
00058 #define BL_TO_FORTRAN_N(x,n) (x).dataPtr(n), ARLIM((x).loVect()), ARLIM((x).hiVect())
00059
00060 #else
00061
00062
00063
00064
00065
00066 #include <REAL.H>
00067
00068 #ifdef BL_USE_ARLIM
00069
00070 #error "This section of code is deprecated: BL_USE_ARLIM is invalid"
00071
00072 #if (BL_SPACEDIM == 1)
00073 #define DIMS(a) a##_lo, a##_hi
00074 #define DIMDEC(a) a##_lo(1), a##_hi(1)
00075 #define DIMV(a) a##_lo(1):a##_hi(1)
00076 #define DIM1(a) a##_lo(1):a##_hi(1)
00077 #define ARG_L1(a) a##_lo(1)
00078 #define ARG_H1(a) a##_hi(1)
00079 #endif
00080
00081 #if (BL_SPACEDIM == 2)
00082 #define DIMS(a) a##_lo, a##_hi
00083 #define DIMDEC(a) a##_lo(2), a##_hi(2)
00084 #define DIMV(a) a##_lo(1):a##_hi(1), a##_lo(2):a##_hi(2)
00085 #define DIM1(a) a##_lo(1):a##_hi(1)
00086 #define DIM2(a) a##_lo(2):a##_hi(2)
00087 #define ARG_L1(a) a##_lo(1)
00088 #define ARG_L2(a) a##_lo(2)
00089 #define ARG_H1(a) a##_hi(1)
00090 #define ARG_H2(a) a##_hi(2)
00091 #endif
00092
00093 #if (BL_SPACEDIM == 3)
00094 #define DIMS(a) a##_lo, a##_hi
00095 #define DIMDEC(a) a##_lo(3), a##_hi(3)
00096 #define DIMV(a) a##_lo(1):a##_hi(1), a##_lo(2):a##_hi(2), a##_lo(3):a##_hi(3)
00097 #define DIM1(a) a##_lo(1):a##_hi(1)
00098 #define DIM2(a) a##_lo(2):a##_hi(2)
00099 #define DIM3(a) a##_lo(3):a##_hi(3)
00100 #define DIM12(a) a##_lo(1):a##_hi(1), a##_lo(2):a##_hi(2)
00101 #define DIM23(a) a##_lo(2):a##_hi(2), a##_lo(3):a##_hi(3)
00102 #define DIM13(a) a##_lo(1):a##_hi(1), a##_lo(3):a##_hi(3)
00103 #define ARG_L1(a) a##_lo(1)
00104 #define ARG_L2(a) a##_lo(2)
00105 #define ARG_L3(a) a##_lo(3)
00106 #define ARG_H1(a) a##_hi(1)
00107 #define ARG_H2(a) a##_hi(2)
00108 #define ARG_H3(a) a##_hi(3)
00109 #endif
00110
00111 #else
00112
00113 #if __STDC__==1
00114
00115 #if (BL_SPACEDIM == 1)
00116 #define DIMS(a) a##_l1, a##_h1
00117 #define DIMDEC(a) a##_l1, a##_h1
00118 #define DIMV(a) a##_l1:a##_h1
00119 #define DIM1(a) a##_l1:a##_h1
00120 #define ARG_L1(a) a##_l1
00121 #define ARG_H1(a) a##_h1
00122 #endif
00123
00124 #if (BL_SPACEDIM == 2)
00125 #define DIMS(a) a##_l1, a##_l2 , a##_h1, a##_h2
00126 #define DIMDEC(a) a##_l1, a##_l2 , a##_h1, a##_h2
00127 #define DIMV(a) a##_l1:a##_h1, a##_l2:a##_h2
00128 #define DIM1(a) a##_l1:a##_h1
00129 #define DIM2(a) a##_l2:a##_h2
00130 #define ARG_L1(a) a##_l1
00131 #define ARG_L2(a) a##_l2
00132 #define ARG_H1(a) a##_h1
00133 #define ARG_H2(a) a##_h2
00134 #endif
00135
00136 #if (BL_SPACEDIM == 3)
00137 #define DIMS(a) a##_l1, a##_l2 , a##_l3, a##_h1, a##_h2, a##_h3
00138 #define DIMDEC(a) a##_l1, a##_l2 , a##_l3, a##_h1, a##_h2, a##_h3
00139 #define DIMV(a) a##_l1:a##_h1, a##_l2:a##_h2, a##_l3:a##_h3
00140 #define DIM1(a) a##_l1:a##_h1
00141 #define DIM2(a) a##_l2:a##_h2
00142 #define DIM3(a) a##_l3:a##_h3
00143 #define DIM12(a) a##_l1:a##_h1, a##_l2:a##_h2
00144 #define DIM23(a) a##_l2:a##_h2, a##_l3:a##_h3
00145 #define DIM13(a) a##_l1:a##_h1, a##_l3:a##_h3
00146 #define ARG_L1(a) a##_l1
00147 #define ARG_L2(a) a##_l2
00148 #define ARG_L3(a) a##_l3
00149 #define ARG_H1(a) a##_h1
00150 #define ARG_H2(a) a##_h2
00151 #define ARG_H3(a) a##_h3
00152 #endif
00153
00154 #else
00155
00156 #if (BL_SPACEDIM == 1)
00157 #define DIMS(a) a_l1, a_h1
00158 #define DIMDEC(a) a_l1, a_h1
00159 #define DIMV(a) a_l1:a_h1
00160 #define DIM1(a) a_l1:a_h1
00161 #define ARG_L1(a) a_l1
00162 #define ARG_H1(a) a_h1
00163 #endif
00164
00165 #if (BL_SPACEDIM == 2)
00166 #define DIMS(a) a_l1, a_l2 , a_h1, a_h2
00167 #define DIMDEC(a) a_l1, a_l2 , a_h1, a_h2
00168 #define DIMV(a) a_l1:a_h1, a_l2:a_h2
00169 #define DIM1(a) a_l1:a_h1
00170 #define DIM2(a) a_l2:a_h2
00171 #define ARG_L1(a) a_l1
00172 #define ARG_L2(a) a_l2
00173 #define ARG_H1(a) a_h1
00174 #define ARG_H2(a) a_h2
00175 #endif
00176
00177 #if (BL_SPACEDIM == 3)
00178 #define DIMS(a) a_l1, a_l2 , a_l3, a_h1, a_h2, a_h3
00179 #define DIMDEC(a) a_l1, a_l2 , a_l3, a_h1, a_h2, a_h3
00180 #define DIMV(a) a_l1:a_h1, a_l2:a_h2, a_l3:a_h3
00181 #define DIM1(a) a_l1:a_h1
00182 #define DIM2(a) a_l2:a_h2
00183 #define DIM3(a) a_l3:a_h3
00184 #define DIM12(a) a_l1:a_h1, a_l2:a_h2
00185 #define DIM23(a) a_l2:a_h2, a_l3:a_h3
00186 #define DIM13(a) a_l1:a_h1, a_l3:a_h3
00187 #define ARG_L1(a) a_l1
00188 #define ARG_L2(a) a_l2
00189 #define ARG_L3(a) a_l3
00190 #define ARG_H1(a) a_h1
00191 #define ARG_H2(a) a_h2
00192 #define ARG_H3(a) a_h3
00193 #endif
00194
00195 #endif
00196
00197 #endif
00198
00199 #endif
00201 #endif