Changeset 12760 for NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/do_loop_substitute.h90
- Timestamp:
- 2020-04-17T08:53:28+02:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/do_loop_substitute.h90
r12719 r12760 50 50 ! includes the possibility of strides for which an extra set of DO_3DS macros are defined. 51 51 ! 52 ! In the following definitions the inner PE domain is defined by start indices of (_ __kIs_, __kJs_) and end indices of (__kIe_, __kJe_)53 ! The following macros are defined just below: _ __kIs_, __kJs_, ___kIsm1_, __kJsm1_, ___kIe_, __kJe_, ___kIep1_, __kJep1_.52 ! In the following definitions the inner PE domain is defined by start indices of (_nIs_0, nJs_0) and end indices of (nIe_0, nJs_0) 53 ! The following macros are defined just below: _nIs_0, nJs_0, _nIs_1, nJs_1, _nIe_0, nJs_0, _nIe_1, nJe_1. 54 54 ! These names are chosen to, hopefully, avoid any future, unintended matches elsewhere in the code. 55 55 ! 56 !!gm changes ; 57 ! 58 ! -0- fortran code : defined in par_oce.F90 the folowwing valiables : 59 !!# 60 !!# INTEGER, PUBLIC :: nIs_0, nIs_1, nIs_2 !: start I-index (_0: no halo, _1 & _2: 1 & 2-halos) 61 !!# INTEGER, PUBLIC :: nIe_0, nIe_1, nIe_2 !: end I-index (_0: no halo, _1 & _2: 1 & 2-halos) 62 !!# INTEGER, PUBLIC :: nJs_0, nJs_1, nJs_2 !: start J-index (_0: no halo, _1 & _2: 1 & 2-halos) 63 !!# INTEGER, PUBLIC :: nJe_0, nJe_1, nJe_2 !: end J-index (_0: no halo, _1 & _2: 1 & 2-halos) 64 !!# 65 ! -1- fortran code put in mppinit.F90 : 66 !!# just after the futur read of nn_hls in namXXX (to be defined) 67 !!# NB: currently nn_hls is defined as a parameter in par_oce.F90 68 !!# SUBROUTINE init_do_loop 69 !!# !!---------------------------------------------------------------------- 70 !!# !! *** ROUTINE init_do_loop_indices *** 71 !!# !! 72 !!# !! ** Purpose : set the starting/ending indices of DO-loop 73 !!# !! These indices are used in do_loop_substitute.h90 74 !!# !!----------------------------------------------------------------------!!# ! !== set the starting/ending indices of DO-loop ==! (used in do_loop_substitute.h90) 75 !!# ! 76 !!# IF( nn_hls == 1 ) THEN !* halo size of 1 77 !!# ! 78 !!# nIs_0 = 2 ; nIs_1 = 1 ; nIs_2 = nIs_1 79 !!# nJs_0 = nIs_0 ; nJs_1 = nIs_1 ; nJs_2 = nIs_1 80 !!# ! 81 !!# nIe_0 = jpi-1 ; nJe_1 = jpi ; nIe_2 = nIe_1 82 !!# nJe_0 = jpj-1 ; nJe_1 = jpj-1 ; nJe_2 = nIe_1 83 !!# ! 84 !!# ELSEIF( nn_hls == 2 ) THEN !* halo size of 2 85 !!# ! 86 !!# nIs_0 = 3 ; nIs_1 = 2 ; nIs_2 = 1 87 !!# nJs_0 = nIs_0 ; nJs_1 = nIs_1 ; nJs_2 = nIs_2 88 !!# ! 89 !!# nIe_0 = jpi-2 ; nJe_1 = jpi-1 ; nIe_2 = jpi 90 !!# nJe_0 = jpj-2 ; nJe_1 = jpj-1 ; nJe_2 = jpj 91 !!# ! 92 !!# ELSE !* unexpected halo size 93 !!# CALL ctl_stop( 'STOP', 'ini_mpp: wrong value of halo size : nn_hls= 1 or 2 only !') 94 !!# ENDIF 95 !!# 96 !!# ! 97 !!# END SUBROUTINE init_do_loop 98 ! 99 ! ! -2- in do_loop_substitute becomes : 100 ! 56 101 #endif 57 #define __kIs_ 2 58 #define __kJs_ 2 59 #define __kIsm1_ 1 60 #define __kJsm1_ 1 61 62 #define __kIe_ jpi-1 63 #define __kJe_ jpj-1 64 #define __kIep1_ jpi 65 #define __kJep1_ jpj 66 67 #define DO_2D_00_00 DO jj = __kJs_, __kJe_ ; DO ji = __kIs_, __kIe_ 68 #define DO_2D_00_01 DO jj = __kJs_, __kJe_ ; DO ji = __kIs_, __kIep1_ 69 #define DO_2D_00_10 DO jj = __kJs_, __kJe_ ; DO ji = __kIsm1_, __kIe_ 70 #define DO_2D_00_11 DO jj = __kJs_, __kJe_ ; DO ji = __kIsm1_, __kIep1_ 71 72 #define DO_2D_01_00 DO jj = __kJs_, __kJep1_ ; DO ji = __kIs_, __kIe_ 73 #define DO_2D_01_01 DO jj = __kJs_, __kJep1_ ; DO ji = __kIs_, __kIep1_ 74 #define DO_2D_01_10 DO jj = __kJs_, __kJep1_ ; DO ji = __kIsm1_, __kIe_ 75 #define DO_2D_01_11 DO jj = __kJs_, __kJep1_ ; DO ji = __kIsm1_, __kIep1_ 76 77 #define DO_2D_10_00 DO jj = __kJsm1_, __kJe_ ; DO ji = __kIs_, __kIe_ 78 #define DO_2D_10_10 DO jj = __kJsm1_, __kJe_ ; DO ji = __kIsm1_, __kIe_ 79 #define DO_2D_10_11 DO jj = __kJsm1_, __kJe_ ; DO ji = __kIsm1_, __kIep1_ 80 81 #define DO_2D_11_00 DO jj = __kJsm1_, __kJep1_ ; DO ji = __kIs_, __kIe_ 82 #define DO_2D_11_01 DO jj = __kJsm1_, __kJep1_ ; DO ji = __kIs_, __kIep1_ 83 #define DO_2D_11_10 DO jj = __kJsm1_, __kJep1_ ; DO ji = __kIsm1_, __kIe_ 84 #define DO_2D_11_11 DO jj = __kJsm1_, __kJep1_ ; DO ji = __kIsm1_, __kIep1_ 85 86 #define DO_3D_00_00(ks,ke) DO jk = ks, ke ; DO_2D_00_00 87 #define DO_3D_00_10(ks,ke) DO jk = ks, ke ; DO_2D_00_10 88 89 #define DO_3D_01_01(ks,ke) DO jk = ks, ke ; DO_2D_01_01 90 91 #define DO_3D_10_00(ks,ke) DO jk = ks, ke ; DO_2D_10_00 92 #define DO_3D_10_10(ks,ke) DO jk = ks, ke ; DO_2D_10_10 93 #define DO_3D_10_11(ks,ke) DO jk = ks, ke ; DO_2D_10_11 94 95 #define DO_3D_11_11(ks,ke) DO jk = ks, ke ; DO_2D_11_11 96 97 #define DO_3DS_00_00(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_00_00 98 #define DO_3DS_01_01(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_01_01 99 #define DO_3DS_10_10(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_10_10 100 #define DO_3DS_11_11(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_11_11 101 102 103 ! 2D loops with 1 104 105 #define DO_2D_00_00 DO jj = nJs_0, nJe_0 ; DO ji = nIs_0, nIe_0 106 #define DO_2D_00_01 DO jj = nJs_0, nJe_0 ; DO ji = nIs_0, nIe_1 107 #define DO_2D_00_10 DO jj = nJs_0, nJe_0 ; DO ji = nIs_1, nIe_0 108 #define DO_2D_00_11 DO jj = nJs_0, nJe_0 ; DO ji = nIs_1, nIe_1 109 110 #define DO_2D_01_00 DO jj = nJs_0, nJe_1 ; DO ji = nIs_0, nIe_0 111 #define DO_2D_01_01 DO jj = nJs_0, nJe_1 ; DO ji = nIs_0, nIe_1 112 #define DO_2D_01_10 DO jj = nJs_0, nJe_1 ; DO ji = nIs_1, nIe_0 113 #define DO_2D_01_11 DO jj = nJs_0, nJe_1 ; DO ji = nIs_1, nIe_1 114 115 #define DO_2D_10_00 DO jj = nJs_1, nJe_0 ; DO ji = nIs_0, nIe_0 116 #define DO_2D_10_01 DO jj = nJs_1, nJe_0 ; DO ji = nIs_0, nIe_1 ! not used ? 117 #define DO_2D_10_10 DO jj = nJs_1, nJe_0 ; DO ji = nIs_1, nIe_0 118 #define DO_2D_10_11 DO jj = nJs_1, nJe_0 ; DO ji = nIs_1, nIe_1 119 120 #define DO_2D_11_00 DO jj = nJs_1, nJe_1 ; DO ji = nIs_0, nIe_0 121 #define DO_2D_11_01 DO jj = nJs_1, nJe_1 ; DO ji = nIs_0, nIe_1 122 #define DO_2D_11_10 DO jj = nJs_1, nJe_1 ; DO ji = nIs_1, nIe_0 123 #define DO_2D_11_11 DO jj = nJs_1, nJe_1 ; DO ji = nIs_1, nIe_1 124 125 ! 2D loops with 1 following a 2/3D loop with 2 126 127 #define DO_2D_00_01nxt2 DO jj = nJs_0 , nJe_0 ; DO ji = nIs_0 , nIe_1nxt2 128 #define DO_2D_00_10nxt2 DO jj = nJs_0 , nJe_0 ; DO ji = nIs_1nxt2, nIe_0 129 #define DO_2D_00_11nxt2 DO jj = nJs_0 , nJe_0 ; DO ji = nIs_1nxt2, nIe_1nxt2 130 131 #define DO_2D_01_00nxt2 DO jj = nJs_0 , nJe_1nxt2 ; DO ji = nIs_0 , nIe_0 132 #define DO_2D_01_01nxt2 DO jj = nJs_0 , nJe_1nxt2 ; DO ji = nIs_0 , nIe_1nxt2 133 #define DO_2D_01_10nxt2 DO jj = nJs_0 , nJe_1nxt2 ; DO ji = nIs_1nxt2, nIe_0 134 #define DO_2D_01_11nxt2 DO jj = nJs_0 , nJe_1nxt2 ; DO ji = nIs_1nxt2, nIe_1nxt2 135 136 #define DO_2D_10_00nxt2 DO jj = nJs_1nxt2, nJe_0 ; DO ji = nIs_0 , nIe_0 137 #define DO_2D_10_01nxt2 DO jj = nJs_1nxt2, nJe_0 ; DO ji = nIs_0 , nIe_1nxt2 ! not used ? 138 #define DO_2D_10_10nxt2 DO jj = nJs_1nxt2, nJe_0 ; DO ji = nIs_1nxt2, nIe_0 139 #define DO_2D_10_11nxt2 DO jj = nJs_1nxt2, nJe_0 ; DO ji = nIs_1nxt2, nIe_1nxt2 140 141 #define DO_2D_11_00nxt2 DO jj = nJs_1nxt2, nJe_1nxt2 ; DO ji = nIs_0 , nIe_0 142 #define DO_2D_11_01nxt2 DO jj = nJs_1nxt2, nJe_1nxt2 ; DO ji = nIs_0 , nIe_1nxt2 143 #define DO_2D_11_10nxt2 DO jj = nJs_1nxt2, nJe_1nxt2 ; DO ji = nIs_1nxt2, nIe_0 144 #define DO_2D_11_11nxt2 DO jj = nJs_1nxt2, nJe_1nxt2 ; DO ji = nIs_1nxt2, nIe_1nxt2 145 146 ! 2D loops with 2 147 148 #define DO_2D_11_12 DO jj = nJs_1nxt2, nJe_1nxt2 ; DO ji = nIs_1nxt2, nIe_2 149 #define DO_2D_11_21 DO jj = nJs_1nxt2, nJe_1nxt2 ; DO ji = nIs_2 , nIe_1nxt2 150 #define DO_2D_11_22 DO jj = nJs_1nxt2, nJe_1nxt2 ; DO ji = nIs_2 , nIe_2 151 152 #define DO_2D_12_11 DO jj = nJs_1nxt2, nJe_2 ; DO ji = nIs_1nxt2, nIe_1nxt2 153 #define DO_2D_12_12 DO jj = nJs_1nxt2, nJe_2 ; DO ji = nIs_1nxt2, nIe_2 154 #define DO_2D_12_21 DO jj = nJs_1nxt2, nJe_2 ; DO ji = nIs_2 , nIe_1nxt2 155 #define DO_2D_12_22 DO jj = nJs_1nxt2, nJe_2 ; DO ji = nIs_2 , nIe_2 156 157 #define DO_2D_21_11 DO jj = nJs_2 , nJe_1nxt2 ; DO ji = nIs_1nxt2, nIe_1nxt2 158 #define DO_2D_21_12 DO jj = nJs_2 , nJe_1nxt2 ; DO ji = nIs_1nxt2, nIe_2 ! not used ? 159 #define DO_2D_21_21 DO jj = nJs_2 , nJe_1nxt2 ; DO ji = nIs_2 , nIe_1nxt2 160 #define DO_2D_21_22 DO jj = nJs_2 , nJe_1nxt2 ; DO ji = nIs_2 , nIe_2 161 162 #define DO_2D_22_11 DO jj = nJs_2 , nJe_2 ; DO ji = nIs_1nxt2, nIe_1nxt2 163 #define DO_2D_22_12 DO jj = nJs_2 , nJe_2 ; DO ji = nIs_1nxt2, nIe_2 164 #define DO_2D_22_21 DO jj = nJs_2 , nJe_2 ; DO ji = nIs_2 , nIe_1nxt2 165 #define DO_2D_22_22 DO jj = nJs_2 , nJe_2 ; DO ji = nIs_2 , nIe_2 166 167 ! 3D loops with 1 168 169 #define DO_3D_00_00(ks,ke) DO jk = ks, ke ; DO_2D_00_00 170 #define DO_3D_00_01(ks,ke) DO jk = ks, ke ; DO_2D_00_01 171 #define DO_3D_00_10(ks,ke) DO jk = ks, ke ; DO_2D_00_10 172 #define DO_3D_00_11(ks,ke) DO jk = ks, ke ; DO_2D_00_11 173 174 #define DO_3D_01_00(ks,ke) DO jk = ks, ke ; DO_2D_01_00 175 #define DO_3D_01_01(ks,ke) DO jk = ks, ke ; DO_2D_01_01 176 #define DO_3D_01_10(ks,ke) DO jk = ks, ke ; DO_2D_01_10 177 #define DO_3D_01_11(ks,ke) DO jk = ks, ke ; DO_2D_01_11 178 179 #define DO_3D_10_00(ks,ke) DO jk = ks, ke ; DO_2D_10_00 180 #define DO_3D_10_01(ks,ke) DO jk = ks, ke ; DO_2D_10_01 181 #define DO_3D_10_10(ks,ke) DO jk = ks, ke ; DO_2D_10_10 182 #define DO_3D_10_11(ks,ke) DO jk = ks, ke ; DO_2D_10_11 183 184 #define DO_3D_11_00(ks,ke) DO jk = ks, ke ; DO_2D_11_00 185 #define DO_3D_11_01(ks,ke) DO jk = ks, ke ; DO_2D_11_01 186 #define DO_3D_11_10(ks,ke) DO jk = ks, ke ; DO_2D_11_10 187 #define DO_3D_11_11(ks,ke) DO jk = ks, ke ; DO_2D_11_11 188 189 ! 3D loops with 1, following a 2/3D loop with 2 190 191 #define DO_3D_00_01nxt2(ks,ke) DO jk = ks, ke ; DO_2D_00_01nxt2 192 #define DO_3D_00_10nxt2(ks,ke) DO jk = ks, ke ; DO_2D_00_10nxt2 193 #define DO_3D_00_11nxt2(ks,ke) DO jk = ks, ke ; DO_2D_00_11nxt2 194 195 #define DO_3D_01_00nxt2(ks,ke) DO jk = ks, ke ; DO_2D_01_00nxt2 196 #define DO_3D_01_01nxt2(ks,ke) DO jk = ks, ke ; DO_2D_01_01nxt2 197 #define DO_3D_01_10nxt2(ks,ke) DO jk = ks, ke ; DO_2D_01_10nxt2 198 #define DO_3D_01_11nxt2(ks,ke) DO jk = ks, ke ; DO_2D_01_11nxt2 199 200 #define DO_3D_10_00nxt2(ks,ke) DO jk = ks, ke ; DO_2D_10_00nxt2 201 #define DO_3D_10_01nxt2(ks,ke) DO jk = ks, ke ; DO_2D_10_01nxt2 202 #define DO_3D_10_10nxt2(ks,ke) DO jk = ks, ke ; DO_2D_10_10nxt2 203 #define DO_3D_10_11nxt2(ks,ke) DO jk = ks, ke ; DO_2D_10_11nxt2 204 205 #define DO_3D_11_00nxt2(ks,ke) DO jk = ks, ke ; DO_2D_11_00nxt2 206 #define DO_3D_11_01nxt2(ks,ke) DO jk = ks, ke ; DO_2D_11_01nxt2 207 #define DO_3D_11_10nxt2(ks,ke) DO jk = ks, ke ; DO_2D_11_10nxt2 208 #define DO_3D_11_11nxt2(ks,ke) DO jk = ks, ke ; DO_2D_11_11nxt2 209 210 ! 3D loops with 2 211 212 #define DO_3D_11_12(ks,ke) DO jk = ks, ke ; DO_2D_11_12 213 #define DO_3D_11_21(ks,ke) DO jk = ks, ke ; DO_2D_11_21 214 #define DO_3D_11_22(ks,ke) DO jk = ks, ke ; DO_2D_11_22 215 216 #define DO_3D_12_11(ks,ke) DO jk = ks, ke ; DO_2D_12_11 217 #define DO_3D_12_12(ks,ke) DO jk = ks, ke ; DO_2D_12_12 218 #define DO_3D_12_21(ks,ke) DO jk = ks, ke ; DO_2D_12_21 219 #define DO_3D_12_22(ks,ke) DO jk = ks, ke ; DO_2D_12_22 220 221 #define DO_3D_21_11(ks,ke) DO jk = ks, ke ; DO_2D_21_11 222 #define DO_3D_21_12(ks,ke) DO jk = ks, ke ; DO_2D_21_12 223 #define DO_3D_21_21(ks,ke) DO jk = ks, ke ; DO_2D_21_21 224 #define DO_3D_21_22(ks,ke) DO jk = ks, ke ; DO_2D_21_22 225 226 #define DO_3D_22_11(ks,ke) DO jk = ks, ke ; DO_2D_22_11 227 #define DO_3D_22_12(ks,ke) DO jk = ks, ke ; DO_2D_22_12 228 #define DO_3D_22_21(ks,ke) DO jk = ks, ke ; DO_2D_22_21 229 #define DO_3D_22_22(ks,ke) DO jk = ks, ke ; DO_2D_22_22 230 231 ! 3D loops with increment with 1 232 233 #define DO_3DS_00_00(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_00_00 234 #define DO_3DS_00_01(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_00_01 235 #define DO_3DS_00_10(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_00_10 236 #define DO_3DS_00_11(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_00_11 237 238 #define DO_3DS_01_00(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_01_00 239 #define DO_3DS_01_01(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_01_01 240 #define DO_3DS_01_10(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_01_10 241 #define DO_3DS_01_11(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_01_11 242 243 #define DO_3DS_10_00(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_10_00 244 #define DO_3DS_10_01(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_10_01 245 #define DO_3DS_10_10(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_10_10 246 #define DO_3DS_10_11(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_10_11 247 248 #define DO_3DS_11_00(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_11_00 249 #define DO_3DS_11_01(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_11_01 250 #define DO_3DS_11_10(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_11_10 251 #define DO_3DS_11_11(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_11_11 252 253 ! 3D loops with increment with 1, following a 2/3D loop with 2 254 255 #define DO_3DS_00_01nxt2(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_00_01nxt2 256 #define DO_3DS_00_10nxt2(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_00_10nxt2 257 #define DO_3DS_00_11nxt2(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_00_11nxt2 258 259 #define DO_3DS_01_00nxt2(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_01_00nxt2 260 #define DO_3DS_01_01nxt2(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_01_01nxt2 261 #define DO_3DS_01_10nxt2(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_01_10nxt2 262 #define DO_3DS_01_11nxt2(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_01_11nxt2 263 264 #define DO_3DS_10_00nxt2(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_10_00nxt2 265 #define DO_3DS_10_01nxt2(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_10_01nxt2 266 #define DO_3DS_10_10nxt2(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_10_10nxt2 267 #define DO_3DS_10_11nxt2(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_10_11nxt2 268 269 #define DO_3DS_11_00nxt2(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_11_00nxt2 270 #define DO_3DS_11_01nxt2(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_11_01nxt2 271 #define DO_3DS_11_10nxt2(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_11_10nxt2 272 #define DO_3DS_11_11nxt2(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_11_11nxt2 273 274 ! 3D loops with increment with 2 275 276 #define DO_3DS_11_12(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_11_12 277 #define DO_3DS_11_21(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_11_21 278 #define DO_3DS_11_22(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_11_22 279 280 #define DO_3DS_12_11(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_12_11 281 #define DO_3DS_12_12(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_12_12 282 #define DO_3DS_12_21(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_12_21 283 #define DO_3DS_12_22(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_12_22 284 285 #define DO_3DS_21_11(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_21_11 286 #define DO_3DS_21_12(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_21_12 287 #define DO_3DS_21_21(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_21_21 288 #define DO_3DS_21_22(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_21_22 289 290 #define DO_3DS_22_11(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_22_11 291 #define DO_3DS_22_12(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_22_12 292 #define DO_3DS_22_21(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_22_21 293 #define DO_3DS_22_22(ks,ke,ki) DO jk = ks, ke, ki ; DO_2D_22_22 294 102 295 #define END_2D END DO ; END DO 103 296 #define END_3D END DO ; END DO ; END DO
Note: See TracChangeset
for help on using the changeset viewer.