00001 #ifdef CH_LANG_CC
00002
00003
00004
00005
00006
00007
00008
00009 #endif
00010
00011 #include "FortranNameMacro.H"
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef _FORT_PROTO_H_
00020 #define _FORT_PROTO_H_
00021
00022 #include "REAL.H"
00023 #include "SPACE.H"
00024 #include "BaseNamespaceHeader.H"
00025
00026 #ifdef DOXYGEN
00027
00028
00029
00030
00031 #define FORTRAN_NAME( NAME ,name )
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068 #define CHF_MULTIDO(box, i, j, k)
00069
00070
00071 #define CHF_ENDDO
00072
00073 #else
00074
00075 class chfptr
00076 {
00077 public:
00078 int i ;
00079
00080
00081
00082 chfptr(int a):i(a)
00083 {
00084 }
00085
00086 operator const int*() const
00087 {
00088 return &i;
00089 }
00090 };
00091
00092 #define CHFPTR(a) (const int*)chfptr(a)
00093 #define CHFPTR1(alo,ahi) \
00094 (const int*)chfptr(alo),(const int*)chfptr(ahi)
00095 #define CHFPTR2(alo,blo,ahi,bhi) \
00096 (const int*)chfptr(alo),(const int*)chfptr(blo), \
00097 (const int*)chfptr(ahi),(const int*)chfptr(bhi)
00098 #define CHFPTR3(alo,blo,clo,ahi,bhi,chi) \
00099 (const int*)chfptr(alo),(const int*)chfptr(blo),(const int*)chfptr(clo), \
00100 (const int*)chfptr(ahi),(const int*)chfptr(bhi),(const int*)chfptr(chi)
00101 #define CHFPTR4(alo,blo,clo,dlo,ahi,bhi,chi,dhi) \
00102 (const int*)chfptr(alo),(const int*)chfptr(blo),(const int*)chfptr(clo),(const int*)chfptr(dlo), \
00103 (const int*)chfptr(ahi),(const int*)chfptr(bhi),(const int*)chfptr(chi),(const int*)chfptr(dhi)
00104 #define CHFPTR5(alo,blo,clo,dlo,elo,ahi,bhi,chi,dhi,ehi) \
00105 (const int*)chfptr(alo),(const int*)chfptr(blo),(const int*)chfptr(clo),(const int*)chfptr(dlo),(const int*)chfptr(elo), \
00106 (const int*)chfptr(ahi),(const int*)chfptr(bhi),(const int*)chfptr(chi),(const int*)chfptr(dhi),(const int*)chfptr(ehi)
00107 #define CHFPTR6(alo,blo,clo,dlo,elo,flo,ahi,bhi,chi,dhi,ehi,fhi) \
00108 (const int*)chfptr(alo),(const int*)chfptr(blo),(const int*)chfptr(clo),(const int*)chfptr(dlo),(const int*)chfptr(elo),(const int*)chfptr(flo), \
00109 (const int*)chfptr(ahi),(const int*)chfptr(bhi),(const int*)chfptr(chi),(const int*)chfptr(dhi),(const int*)chfptr(ehi),(const int*)chfptr(fhi)
00110 #define CHFPTR7(alo,blo,clo,dlo,elo,flo,glo,ahi,bhi,chi,dhi,ehi,fhi,ghi) \
00111 (const int*)chfptr(alo),(const int*)chfptr(blo),(const int*)chfptr(clo),(const int*)chfptr(dlo),(const int*)chfptr(elo),(const int*)chfptr(flo),(const int*)chfptr(glo), \
00112 (const int*)chfptr(ahi),(const int*)chfptr(bhi),(const int*)chfptr(chi),(const int*)chfptr(dhi),(const int*)chfptr(ehi),(const int*)chfptr(fhi),(const int*)chfptr(ghi)
00113
00114 #define ARCHFPTR1(anm) CHFPTR1(anm.lowerBound(0), \
00115 anm.upperBound(0))
00116 #define ARCHFPTR2(anm) CHFPTR2(anm.lowerBound(0),anm.lowerBound(1), \
00117 anm.upperBound(0),anm.upperBound(1))
00118 #define ARCHFPTR3(anm) CHFPTR3(anm.lowerBound(0),anm.lowerBound(1),anm.lowerBound(2), \
00119 anm.upperBound(0),anm.upperBound(1),anm.upperBound(2))
00120 #define ARCHFPTR4(anm) CHFPTR4(anm.lowerBound(0),anm.lowerBound(1),anm.lowerBound(2),anm.lowerBound(3), \
00121 anm.upperBound(0),anm.upperBound(1),anm.upperBound(2),anm.upperBound(3))
00122 #define ARCHFPTR5(anm) CHFPTR5(anm.lowerBound(0),anm.lowerBound(1),anm.lowerBound(2),anm.lowerBound(3),anm.lowerBound(4), \
00123 anm.upperBound(0),anm.upperBound(1),anm.upperBound(2),anm.upperBound(3),anm.upperBound(4))
00124 #define ARCHFPTR6(anm) CHFPTR6(anm.lowerBound(0),anm.lowerBound(1),anm.lowerBound(2),anm.lowerBound(3),anm.lowerBound(4),anm.lowerBound(5), \
00125 anm.upperBound(0),anm.upperBound(1),anm.upperBound(2),anm.upperBound(3),anm.upperBound(4),anm.upperBound(5))
00126 #define ARCHFPTR7(anm) CHFPTR7(anm.lowerBound(0),anm.lowerBound(1),anm.lowerBound(2),anm.lowerBound(3),anm.lowerBound(4),anm.lowerBound(5),anm.lowerBound(6), \
00127 anm.upperBound(0),anm.upperBound(1),anm.upperBound(2),anm.upperBound(3),anm.upperBound(4),anm.upperBound(5),anm.upperBound(6))
00128
00129
00130 #define DIMARGp_X(rank, anm) DIMARG ## rank ## p(anm)
00131 #define DIMARG1p( anm ) const int* const i ## anm ## lo0, \
00132 const int* const i ## anm ## hi0
00133 #define DIMARG2p( anm ) const int* const i ## anm ## lo0, \
00134 const int* const i ## anm ## lo1, \
00135 const int* const i ## anm ## hi0, \
00136 const int* const i ## anm ## hi1
00137 #define DIMARG3p( anm ) const int* const i ## anm ## lo0, \
00138 const int* const i ## anm ## lo1, \
00139 const int* const i ## anm ## lo2, \
00140 const int* const i ## anm ## hi0, \
00141 const int* const i ## anm ## hi1, \
00142 const int* const i ## anm ## hi2
00143 #define DIMARG4p( anm ) const int* const i ## anm ## lo0, \
00144 const int* const i ## anm ## lo1, \
00145 const int* const i ## anm ## lo2, \
00146 const int* const i ## anm ## lo3, \
00147 const int* const i ## anm ## hi0, \
00148 const int* const i ## anm ## hi1, \
00149 const int* const i ## anm ## hi2, \
00150 const int* const i ## anm ## hi3
00151 #define DIMARG5p( anm ) const int* const i ## anm ## lo0, \
00152 const int* const i ## anm ## lo1, \
00153 const int* const i ## anm ## lo2, \
00154 const int* const i ## anm ## lo3, \
00155 const int* const i ## anm ## lo4, \
00156 const int* const i ## anm ## hi0, \
00157 const int* const i ## anm ## hi1, \
00158 const int* const i ## anm ## hi2, \
00159 const int* const i ## anm ## hi3, \
00160 const int* const i ## anm ## hi4
00161 #define DIMARG6p( anm ) const int* const i ## anm ## lo0, \
00162 const int* const i ## anm ## lo1, \
00163 const int* const i ## anm ## lo2, \
00164 const int* const i ## anm ## lo3, \
00165 const int* const i ## anm ## lo4, \
00166 const int* const i ## anm ## lo5, \
00167 const int* const i ## anm ## hi0, \
00168 const int* const i ## anm ## hi1, \
00169 const int* const i ## anm ## hi2, \
00170 const int* const i ## anm ## hi3, \
00171 const int* const i ## anm ## hi4, \
00172 const int* const i ## anm ## hi5
00173 #define DIMARG7p( anm ) const int* const i ## anm ## lo0, \
00174 const int* const i ## anm ## lo1, \
00175 const int* const i ## anm ## lo2, \
00176 const int* const i ## anm ## lo3, \
00177 const int* const i ## anm ## lo4, \
00178 const int* const i ## anm ## lo5, \
00179 const int* const i ## anm ## lo6, \
00180 const int* const i ## anm ## hi0, \
00181 const int* const i ## anm ## hi1, \
00182 const int* const i ## anm ## hi2, \
00183 const int* const i ## anm ## hi3, \
00184 const int* const i ## anm ## hi4, \
00185 const int* const i ## anm ## hi5, \
00186 const int* const i ## anm ## hi6
00187
00188 #define DIMARGt_X(rank, anm) DIMARG ## rank ## t(anm)
00189 #define DIMARG1t( anm ) i ## anm ## lo0, \
00190 i ## anm ## hi0
00191 #define DIMARG2t( anm ) i ## anm ## lo0, \
00192 i ## anm ## lo1, \
00193 i ## anm ## hi0, \
00194 i ## anm ## hi1
00195 #define DIMARG3t( anm ) i ## anm ## lo0, \
00196 i ## anm ## lo1, \
00197 i ## anm ## lo2, \
00198 i ## anm ## hi0, \
00199 i ## anm ## hi1, \
00200 i ## anm ## hi2
00201 #define DIMARG4t( anm ) i ## anm ## lo0, \
00202 i ## anm ## lo1, \
00203 i ## anm ## lo2, \
00204 i ## anm ## lo3, \
00205 i ## anm ## hi0, \
00206 i ## anm ## hi1, \
00207 i ## anm ## hi2, \
00208 i ## anm ## hi3
00209 #define DIMARG5t( anm ) i ## anm ## lo0, \
00210 i ## anm ## lo1, \
00211 i ## anm ## lo2, \
00212 i ## anm ## lo3, \
00213 i ## anm ## lo4, \
00214 i ## anm ## hi0, \
00215 i ## anm ## hi1, \
00216 i ## anm ## hi2, \
00217 i ## anm ## hi3, \
00218 i ## anm ## hi4
00219 #define DIMARG6t( anm ) i ## anm ## lo0, \
00220 i ## anm ## lo1, \
00221 i ## anm ## lo2, \
00222 i ## anm ## lo3, \
00223 i ## anm ## lo4, \
00224 i ## anm ## lo5, \
00225 i ## anm ## hi0, \
00226 i ## anm ## hi1, \
00227 i ## anm ## hi2, \
00228 i ## anm ## hi3, \
00229 i ## anm ## hi4, \
00230 i ## anm ## hi5
00231 #define DIMARG7t( anm ) i ## anm ## lo0, \
00232 i ## anm ## lo1, \
00233 i ## anm ## lo2, \
00234 i ## anm ## lo3, \
00235 i ## anm ## lo4, \
00236 i ## anm ## lo5, \
00237 i ## anm ## lo6, \
00238 i ## anm ## hi0, \
00239 i ## anm ## hi1, \
00240 i ## anm ## hi2, \
00241 i ## anm ## hi3, \
00242 i ## anm ## hi4, \
00243 i ## anm ## hi5, \
00244 i ## anm ## hi6
00245
00246
00247 #define CHF_ARRAY_X(rank, ...) CHFPTR ## rank(__VA_ARGS__)
00248 #define CHF_CHARRAY_X(rank, name) ARCHFPTR ## rank(name)
00249
00250
00251 #if CH_SPACEDIM==1
00252 # define RANK_SPACEDIM_PLUS_0 1
00253 # define RANK_SPACEDIM_PLUS_1 2
00254 # define RANK_SPACEDIM_PLUS_2 3
00255 # define RANK_SPACEDIM_PLUS_3 4
00256 # define RANK_SPACEDIM_PLUS_4 5
00257 # define RANK_SPACEDIM_PLUS_5 6
00258 # define RANK_SPACEDIM_PLUS_6 7
00259 #elif CH_SPACEDIM==2
00260 # define RANK_SPACEDIM_PLUS_0 2
00261 # define RANK_SPACEDIM_PLUS_1 3
00262 # define RANK_SPACEDIM_PLUS_2 4
00263 # define RANK_SPACEDIM_PLUS_3 5
00264 # define RANK_SPACEDIM_PLUS_4 6
00265 # define RANK_SPACEDIM_PLUS_5 7
00266 #elif CH_SPACEDIM==3
00267 # define RANK_SPACEDIM_PLUS_0 3
00268 # define RANK_SPACEDIM_PLUS_1 4
00269 # define RANK_SPACEDIM_PLUS_2 5
00270 # define RANK_SPACEDIM_PLUS_3 6
00271 # define RANK_SPACEDIM_PLUS_4 7
00272 #elif CH_SPACEDIM==4
00273 # define RANK_SPACEDIM_PLUS_0 4
00274 # define RANK_SPACEDIM_PLUS_1 5
00275 # define RANK_SPACEDIM_PLUS_2 6
00276 # define RANK_SPACEDIM_PLUS_3 7
00277 #elif CH_SPACEDIM==5
00278 # define RANK_SPACEDIM_PLUS_0 5
00279 # define RANK_SPACEDIM_PLUS_1 6
00280 # define RANK_SPACEDIM_PLUS_2 7
00281 #elif CH_SPACEDIM==6
00282 # define RANK_SPACEDIM_PLUS_0 6
00283 # define RANK_SPACEDIM_PLUS_1 7
00284 #endif
00285
00286 #endif
00287
00288
00289
00290
00291
00292
00293 #define CHF_INT( i ) &i
00294
00295 #define CHF_CONST_INT( i ) &i
00296
00297 #define CHF_REAL( r ) &r
00298
00299 #define CHF_CONST_REAL( r ) &r
00300
00301 #define CHF_COMPLEX( c ) &c
00302
00303 #define CHF_CONST_COMPLEX( c ) &c
00304
00305 #define CHF_I1D( ia,dimen ) ia,(const int*)chfptr(dimen-1)
00306
00307 #define CHF_CONST_I1D( ia,dimen ) ia,(const int*)chfptr(dimen-1)
00308
00309 #define CHF_R1D( ra,dimen ) ra,(const int*)chfptr(dimen-1)
00310
00311 #define CHF_CONST_R1D( ra,dimen ) ra,(const int*)chfptr(dimen-1)
00312
00313 #define CHF_C1D( ra,dimen ) ra,(const int*)chfptr(dimen-1)
00314
00315 #define CHF_CONST_C1D( ra,dimen ) ra,(const int*)chfptr(dimen-1)
00316
00317
00318 #define CHF_IARRAY(rank, ia, ...) ia,CHF_ARRAY_X(rank, __VA_ARGS__)
00319
00320 #define CHF_CONST_IARRAY(rank, ia, ...) ia,CHF_ARRAY_X(rank, __VA_ARGS__)
00321
00322 #define CHF_RARRAY(rank, ia, ...) ia,CHF_ARRAY_X(rank, __VA_ARGS__)
00323
00324 #define CHF_CONST_RARRAY(rank, ia, ...) ia,CHF_ARRAY_X(rank, __VA_ARGS__)
00325
00326 #define CHF_CARRAY(rank, ia, ...) ia,CHF_ARRAY_X(rank, __VA_ARGS__)
00327
00328 #define CHF_CONST_CARRAY(rank, ia, ...) ia,CHF_ARRAY_X(rank, __VA_ARGS__)
00329
00330
00331
00332
00333 #define CHF_INTVECT( a ) a.dataPtr( )
00334
00335 #define CHF_CONST_INTVECT( a ) a.dataPtr( )
00336
00337 #define CHF_REALVECT( a ) a.dataPtr( )
00338
00339 #define CHF_CONST_REALVECT( a ) a.dataPtr( )
00340
00341 #define CHF_COMPLEXVECT( a ) a.dataPtr( )
00342
00343 #define CHF_CONST_COMPLEXVECT( a ) a.dataPtr( )
00344
00345 #define CHF_VI( v ) &v[0],(const int*)chfptr(v.size()-1)
00346
00347 #define CHF_CONST_VI( v ) &v[0],(const int*)chfptr(v.size()-1)
00348
00349 #define CHF_VR( v ) &v[0],(const int*)chfptr(v.size()-1)
00350
00351 #define CHF_CONST_VR( v ) &v[0],(const int*)chfptr(v.size()-1)
00352
00353 #define CHF_VC( v ) &v[0],(const int*)chfptr(v.size()-1)
00354
00355 #define CHF_CONST_VC( v ) &v[0],(const int*)chfptr(v.size()-1)
00356
00357
00358 #define CHF_BOX( b ) D_DECL6( &b.loVect()[0] \
00359 ,&b.loVect()[1] \
00360 ,&b.loVect()[2] \
00361 ,&b.loVect()[3] \
00362 ,&b.loVect()[4] \
00363 ,&b.loVect()[5] ) \
00364 ,D_DECL6( &b.hiVect()[0] \
00365 ,&b.hiVect()[1] \
00366 ,&b.hiVect()[2] \
00367 ,&b.hiVect()[3] \
00368 ,&b.hiVect()[4] \
00369 ,&b.hiVect()[5] )
00370
00371 #define CHF_BOX_SHIFT( b , iv) D_DECL6( CHFPTR(b.loVect()[0] - iv[0]), \
00372 CHFPTR(b.loVect()[1] - iv[1]), \
00373 CHFPTR(b.loVect()[2] - iv[2]), \
00374 CHFPTR(b.loVect()[3] - iv[3]), \
00375 CHFPTR(b.loVect()[4] - iv[4]), \
00376 CHFPTR(b.loVect()[5] - iv[5])) \
00377 ,D_DECL6( CHFPTR(b.hiVect()[0] - iv[0]), \
00378 CHFPTR(b.hiVect()[1] - iv[1]), \
00379 CHFPTR(b.hiVect()[2] - iv[2]), \
00380 CHFPTR(b.hiVect()[3] - iv[3]), \
00381 CHFPTR(b.hiVect()[4] - iv[4]), \
00382 CHFPTR(b.hiVect()[5] - iv[5]))
00383
00384
00385 #define CHF_FIA( a ) a.dataPtr( 0 ) \
00386 ,D_DECL6( &a.loVect()[0] \
00387 ,&a.loVect()[1] \
00388 ,&a.loVect()[2] \
00389 ,&a.loVect()[3] \
00390 ,&a.loVect()[4] \
00391 ,&a.loVect()[5] ) \
00392 ,D_DECL6( &a.hiVect()[0] \
00393 ,&a.hiVect()[1] \
00394 ,&a.hiVect()[2] \
00395 ,&a.hiVect()[3] \
00396 ,&a.hiVect()[4] \
00397 ,&a.hiVect()[5] ) \
00398 ,a.nCompPtr()
00399
00400
00401 #define CHF_FIA_SHIFT( a, iv ) \
00402 a.dataPtr(0), \
00403 D_DECL6( CHFPTR(a.loVect()[0] - iv[0]), \
00404 CHFPTR(a.loVect()[1] - iv[1]), \
00405 CHFPTR(a.loVect()[2] - iv[2]), \
00406 CHFPTR(a.loVect()[3] - iv[3]), \
00407 CHFPTR(a.loVect()[4] - iv[4]), \
00408 CHFPTR(a.loVect()[5] - iv[5]) ), \
00409 D_DECL6( CHFPTR(a.hiVect()[0] - iv[0]), \
00410 CHFPTR(a.hiVect()[1] - iv[1]), \
00411 CHFPTR(a.hiVect()[2] - iv[2]), \
00412 CHFPTR(a.hiVect()[3] - iv[3]), \
00413 CHFPTR(a.hiVect()[4] - iv[4]), \
00414 CHFPTR(a.hiVect()[5] - iv[5]) ), \
00415 a.nCompPtr()
00416
00417
00418 #define CHF_FRA( a ) a.dataPtr( 0 ) \
00419 ,D_DECL6( &a.loVect()[0] \
00420 ,&a.loVect()[1] \
00421 ,&a.loVect()[2] \
00422 ,&a.loVect()[3] \
00423 ,&a.loVect()[4] \
00424 ,&a.loVect()[5] ) \
00425 ,D_DECL6( &a.hiVect()[0] \
00426 ,&a.hiVect()[1] \
00427 ,&a.hiVect()[2] \
00428 ,&a.hiVect()[3] \
00429 ,&a.hiVect()[4] \
00430 ,&a.hiVect()[5] ) \
00431 ,a.nCompPtr()
00432
00433
00434 #define CHF_FRA_SHIFT( a , iv) a.dataPtr( 0 ), \
00435 D_DECL6( CHFPTR(a.loVect()[0] - iv[0]), \
00436 CHFPTR(a.loVect()[1] - iv[1]), \
00437 CHFPTR(a.loVect()[2] - iv[2]), \
00438 CHFPTR(a.loVect()[3] - iv[3]), \
00439 CHFPTR(a.loVect()[4] - iv[4]), \
00440 CHFPTR(a.loVect()[5] - iv[5])) \
00441 ,D_DECL6( CHFPTR(a.hiVect()[0] - iv[0]), \
00442 CHFPTR(a.hiVect()[1] - iv[1]), \
00443 CHFPTR(a.hiVect()[2] - iv[2]), \
00444 CHFPTR(a.hiVect()[3] - iv[3]), \
00445 CHFPTR(a.hiVect()[4] - iv[4]), \
00446 CHFPTR(a.hiVect()[5] - iv[5])) \
00447 ,a.nCompPtr()
00448
00449
00450 #define CHF_FCA( a ) a.dataPtr( 0 ) \
00451 ,D_DECL6( &a.loVect()[0] \
00452 ,&a.loVect()[1] \
00453 ,&a.loVect()[2] \
00454 ,&a.loVect()[3] \
00455 ,&a.loVect()[4] \
00456 ,&a.loVect()[5] ) \
00457 ,D_DECL6( &a.hiVect()[0] \
00458 ,&a.hiVect()[1] \
00459 ,&a.hiVect()[2] \
00460 ,&a.hiVect()[3] \
00461 ,&a.hiVect()[4] \
00462 ,&a.hiVect()[5] ) \
00463 ,a.nCompPtr()
00464
00465
00466 #define CHF_CONST_FIA( a ) a.dataPtr( 0 ) \
00467 ,D_DECL6( &a.loVect()[0] \
00468 ,&a.loVect()[1] \
00469 ,&a.loVect()[2] \
00470 ,&a.loVect()[3] \
00471 ,&a.loVect()[4] \
00472 ,&a.loVect()[5] ) \
00473 ,D_DECL6( &a.hiVect()[0] \
00474 ,&a.hiVect()[1] \
00475 ,&a.hiVect()[2] \
00476 ,&a.hiVect()[3] \
00477 ,&a.hiVect()[4] \
00478 ,&a.hiVect()[5] ) \
00479 ,a.nCompPtr()
00480
00481
00482 #define CHF_CONST_FIA_SHIFT( a, iv ) \
00483 a.dataPtr(0), \
00484 D_DECL6( CHFPTR(a.loVect()[0] - iv[0]), \
00485 CHFPTR(a.loVect()[1] - iv[1]), \
00486 CHFPTR(a.loVect()[2] - iv[2]), \
00487 CHFPTR(a.loVect()[3] - iv[3]), \
00488 CHFPTR(a.loVect()[4] - iv[4]), \
00489 CHFPTR(a.loVect()[5] - iv[5]) ), \
00490 D_DECL6( CHFPTR(a.hiVect()[0] - iv[0]), \
00491 CHFPTR(a.hiVect()[1] - iv[1]), \
00492 CHFPTR(a.hiVect()[2] - iv[2]), \
00493 CHFPTR(a.hiVect()[3] - iv[3]), \
00494 CHFPTR(a.hiVect()[4] - iv[4]), \
00495 CHFPTR(a.hiVect()[5] - iv[5]) ), \
00496 a.nCompPtr()
00497
00498
00499 #define CHF_CONST_FRA( a ) a.dataPtr( 0 ) \
00500 ,D_DECL6( &a.loVect()[0] \
00501 ,&a.loVect()[1] \
00502 ,&a.loVect()[2] \
00503 ,&a.loVect()[3] \
00504 ,&a.loVect()[4] \
00505 ,&a.loVect()[5] ) \
00506 ,D_DECL6( &a.hiVect()[0] \
00507 ,&a.hiVect()[1] \
00508 ,&a.hiVect()[2] \
00509 ,&a.hiVect()[3] \
00510 ,&a.hiVect()[4] \
00511 ,&a.hiVect()[5] ) \
00512 ,a.nCompPtr()
00513
00514
00515 #define CHF_CONST_FRA_SHIFT( a , iv) a.dataPtr( 0 ), \
00516 D_DECL6( CHFPTR(a.loVect()[0] - iv[0]), \
00517 CHFPTR(a.loVect()[1] - iv[1]), \
00518 CHFPTR(a.loVect()[2] - iv[2]), \
00519 CHFPTR(a.loVect()[3] - iv[3]), \
00520 CHFPTR(a.loVect()[4] - iv[4]), \
00521 CHFPTR(a.loVect()[5] - iv[5])) \
00522 ,D_DECL6( CHFPTR(a.hiVect()[0] - iv[0]), \
00523 CHFPTR(a.hiVect()[1] - iv[1]), \
00524 CHFPTR(a.hiVect()[2] - iv[2]), \
00525 CHFPTR(a.hiVect()[3] - iv[3]), \
00526 CHFPTR(a.hiVect()[4] - iv[4]), \
00527 CHFPTR(a.hiVect()[5] - iv[5])) \
00528 ,a.nCompPtr()
00529
00530
00531 #define CHF_CONST_FCA( a ) a.dataPtr( 0 ) \
00532 ,D_DECL6( &a.loVect()[0] \
00533 ,&a.loVect()[1] \
00534 ,&a.loVect()[2] \
00535 ,&a.loVect()[3] \
00536 ,&a.loVect()[4] \
00537 ,&a.loVect()[5] ) \
00538 ,D_DECL6( &a.hiVect()[0] \
00539 ,&a.hiVect()[1] \
00540 ,&a.hiVect()[2] \
00541 ,&a.hiVect()[3] \
00542 ,&a.hiVect()[4] \
00543 ,&a.hiVect()[5] ) \
00544 ,a.nCompPtr()
00545
00546
00547 #define CHF_FIA1( a,n ) a.dataPtr( n ) \
00548 ,D_DECL6( &a.loVect()[0] \
00549 ,&a.loVect()[1] \
00550 ,&a.loVect()[2] \
00551 ,&a.loVect()[3] \
00552 ,&a.loVect()[4] \
00553 ,&a.loVect()[5] ) \
00554 ,D_DECL6( &a.hiVect()[0] \
00555 ,&a.hiVect()[1] \
00556 ,&a.hiVect()[2] \
00557 ,&a.hiVect()[3] \
00558 ,&a.hiVect()[4] \
00559 ,&a.hiVect()[5] )
00560
00561
00562 #define CHF_FIA1_SHIFT( a, n, iv ) \
00563 a.dataPtr(n), \
00564 D_DECL6( CHFPTR(a.loVect()[0] - iv[0]), \
00565 CHFPTR(a.loVect()[1] - iv[1]), \
00566 CHFPTR(a.loVect()[2] - iv[2]), \
00567 CHFPTR(a.loVect()[3] - iv[3]), \
00568 CHFPTR(a.loVect()[4] - iv[4]), \
00569 CHFPTR(a.loVect()[5] - iv[5]) ), \
00570 D_DECL6( CHFPTR(a.hiVect()[0] - iv[0]), \
00571 CHFPTR(a.hiVect()[1] - iv[1]), \
00572 CHFPTR(a.hiVect()[2] - iv[2]), \
00573 CHFPTR(a.hiVect()[3] - iv[3]), \
00574 CHFPTR(a.hiVect()[4] - iv[4]), \
00575 CHFPTR(a.hiVect()[5] - iv[5]) )
00576
00577
00578 #define CHF_FRA1( a,n ) a.dataPtr( n ) \
00579 ,D_DECL6( &a.loVect()[0] \
00580 ,&a.loVect()[1] \
00581 ,&a.loVect()[2] \
00582 ,&a.loVect()[3] \
00583 ,&a.loVect()[4] \
00584 ,&a.loVect()[5] ) \
00585 ,D_DECL6( &a.hiVect()[0] \
00586 ,&a.hiVect()[1] \
00587 ,&a.hiVect()[2] \
00588 ,&a.hiVect()[3] \
00589 ,&a.hiVect()[4] \
00590 ,&a.hiVect()[5] )
00591
00592
00593 #define CHF_FRA1_SHIFT( a, n, iv) \
00594 a.dataPtr( 0 ), \
00595 D_DECL6( CHFPTR(a.loVect()[0] - iv[0]), \
00596 CHFPTR(a.loVect()[1] - iv[1]), \
00597 CHFPTR(a.loVect()[2] - iv[2]), \
00598 CHFPTR(a.loVect()[3] - iv[3]), \
00599 CHFPTR(a.loVect()[4] - iv[4]), \
00600 CHFPTR(a.loVect()[5] - iv[5]) ), \
00601 D_DECL6( CHFPTR(a.hiVect()[0] - iv[0]), \
00602 CHFPTR(a.hiVect()[1] - iv[1]), \
00603 CHFPTR(a.hiVect()[2] - iv[2]), \
00604 CHFPTR(a.hiVect()[3] - iv[3]), \
00605 CHFPTR(a.hiVect()[4] - iv[4]), \
00606 CHFPTR(a.hiVect()[5] - iv[5]) )
00607
00608
00609 #define CHF_FCA1( a,n ) a.dataPtr( n ) \
00610 ,D_DECL6( &a.loVect()[0] \
00611 ,&a.loVect()[1] \
00612 ,&a.loVect()[2] \
00613 ,&a.loVect()[3] \
00614 ,&a.loVect()[4] \
00615 ,&a.loVect()[5] ) \
00616 ,D_DECL6( &a.hiVect()[0] \
00617 ,&a.hiVect()[1] \
00618 ,&a.hiVect()[2] \
00619 ,&a.hiVect()[3] \
00620 ,&a.hiVect()[4] \
00621 ,&a.hiVect()[5] )
00622
00623
00624 #define CHF_CONST_FIA1( a,n ) a.dataPtr( n ) \
00625 ,D_DECL6( &a.loVect()[0] \
00626 ,&a.loVect()[1] \
00627 ,&a.loVect()[2] \
00628 ,&a.loVect()[3] \
00629 ,&a.loVect()[4] \
00630 ,&a.loVect()[5] ) \
00631 ,D_DECL6( &a.hiVect()[0] \
00632 ,&a.hiVect()[1] \
00633 ,&a.hiVect()[2] \
00634 ,&a.hiVect()[3] \
00635 ,&a.hiVect()[4] \
00636 ,&a.hiVect()[5] )
00637
00638 #define CHF_CONST_FBA1( a,n ) a.dataPtr( n ) \
00639 ,D_DECL6( &a.loVect()[0] \
00640 ,&a.loVect()[1] \
00641 ,&a.loVect()[2] \
00642 ,&a.loVect()[3] \
00643 ,&a.loVect()[4] \
00644 ,&a.loVect()[5] ) \
00645 ,D_DECL6( &a.hiVect()[0] \
00646 ,&a.hiVect()[1] \
00647 ,&a.hiVect()[2] \
00648 ,&a.hiVect()[3] \
00649 ,&a.hiVect()[4] \
00650 ,&a.hiVect()[5] )
00651
00652
00653 #define CHF_CONST_FIA1_SHIFT( a, n, iv ) \
00654 a.dataPtr(n), \
00655 D_DECL6( CHFPTR(a.loVect()[0] - iv[0]), \
00656 CHFPTR(a.loVect()[1] - iv[1]), \
00657 CHFPTR(a.loVect()[2] - iv[2]), \
00658 CHFPTR(a.loVect()[3] - iv[3]), \
00659 CHFPTR(a.loVect()[4] - iv[4]), \
00660 CHFPTR(a.loVect()[5] - iv[5]) ), \
00661 D_DECL6( CHFPTR(a.hiVect()[0] - iv[0]), \
00662 CHFPTR(a.hiVect()[1] - iv[1]), \
00663 CHFPTR(a.hiVect()[2] - iv[2]), \
00664 CHFPTR(a.hiVect()[3] - iv[3]), \
00665 CHFPTR(a.hiVect()[4] - iv[4]), \
00666 CHFPTR(a.hiVect()[5] - iv[5]) )
00667
00668
00669 #define CHF_CONST_FRA1( a,n ) a.dataPtr( n ) \
00670 ,D_DECL6( &a.loVect()[0] \
00671 ,&a.loVect()[1] \
00672 ,&a.loVect()[2] \
00673 ,&a.loVect()[3] \
00674 ,&a.loVect()[4] \
00675 ,&a.loVect()[5] ) \
00676 ,D_DECL6( &a.hiVect()[0] \
00677 ,&a.hiVect()[1] \
00678 ,&a.hiVect()[2] \
00679 ,&a.hiVect()[3] \
00680 ,&a.hiVect()[4] \
00681 ,&a.hiVect()[5] )
00682
00683
00684
00685 #define CHF_CONST_FRA1_SHIFT( a, n, iv) \
00686 a.dataPtr( 0 ), \
00687 D_DECL6( CHFPTR(a.loVect()[0] - iv[0]), \
00688 CHFPTR(a.loVect()[1] - iv[1]), \
00689 CHFPTR(a.loVect()[2] - iv[2]), \
00690 CHFPTR(a.loVect()[3] - iv[3]), \
00691 CHFPTR(a.loVect()[4] - iv[4]), \
00692 CHFPTR(a.loVect()[5] - iv[5]) ), \
00693 D_DECL6( CHFPTR(a.hiVect()[0] - iv[0]), \
00694 CHFPTR(a.hiVect()[1] - iv[1]), \
00695 CHFPTR(a.hiVect()[2] - iv[2]), \
00696 CHFPTR(a.hiVect()[3] - iv[3]), \
00697 CHFPTR(a.hiVect()[4] - iv[4]), \
00698 CHFPTR(a.hiVect()[5] - iv[5]) )
00699
00700
00701 #define CHF_CONST_FCA1( a,n ) a.dataPtr( n ) \
00702 ,D_DECL6( &a.loVect()[0] \
00703 ,&a.loVect()[1] \
00704 ,&a.loVect()[2] \
00705 ,&a.loVect()[0] \
00706 ,&a.loVect()[1] \
00707 ,&a.loVect()[2] ) \
00708 ,D_DECL6( &a.hiVect()[0] \
00709 ,&a.hiVect()[1] \
00710 ,&a.hiVect()[2] \
00711 ,&a.hiVect()[3] \
00712 ,&a.hiVect()[4] \
00713 ,&a.hiVect()[5] )
00714
00715
00716 #define CHF_ICHARRAY(rank, ia) ia.begin(),CHF_CHARRAY_X(rank, ia)
00717
00718 #define CHF_CONST_ICHARRAY(rank, ia) ia.begin(),CHF_CHARRAY_X(rank, ia)
00719
00720 #define CHF_RCHARRAY(rank, ra) ra.begin(),CHF_CHARRAY_X(rank, ra)
00721
00722 #define CHF_CONST_RCHARRAY(rank, ra) ra.begin(),CHF_CHARRAY_X(rank, ra)
00723
00724 #define CHF_CCHARRAY(rank, ra) ra.begin(),CHF_CHARRAY_X(rank, ra)
00725
00726 #define CHF_CONST_CCHARRAY(rank, ra) ra.begin(),CHF_CHARRAY_X(rank, ra)
00727
00728 #define CHF_VECTOR(ra) ra.begin(),CHF_CHARRAY_X(1, ra)
00729
00730 #define CHF_CONST_VECTOR(ra) ra.begin(),CHF_CHARRAY_X(1, ra)
00731
00732 #define CHF_MATRIX(ra) ra.begin(),CHF_CHARRAY_X(2, ra)
00733
00734 #define CHF_CONST_MATRIX(ra) ra.begin(),CHF_CHARRAY_X(2, ra)
00735
00736
00737
00738
00739
00740 #define CHFp_INT( i ) int* const i
00741 #define CHFp_CONST_INT( i ) const int* const i
00742 #define CHFp_REAL( r ) Real* const r
00743 #define CHFp_CONST_REAL( r ) const Real* const r
00744 #define CHFp_COMPLEX( c ) Complex* const c
00745 #define CHFp_CONST_COMPLEX( c ) const Complex* const c
00746
00747 #define CHFp_I1D( ia,dimen ) int* const ia, const int* const i ## ia ## hi0
00748 #define CHFp_CONST_I1D( ia,dimen ) const int* const ia, const int* const i ## ia ## hi0
00749 #define CHFp_R1D( ra,dimen ) Real* const ra, const int* const i ## ra ## hi0
00750 #define CHFp_CONST_R1D( ra,dimen ) const Real* const ra, const int* const i ## ra ## hi0
00751 #define CHFp_C1D( ra,dimen ) Complex* const ra, const int* const i ## ra ## hi0
00752 #define CHFp_CONST_C1D( ra,dimen ) const Complex* const ra, const int* const i ## ra ## hi0
00753
00754 #define CHFp_IARRAY( rank, ia, ...) int* const ia, DIMARG ## rank ## p(ia)
00755 #define CHFp_CONST_IARRAY(rank, ia, ...) const int* const ia, DIMARG ## rank ## p(ia)
00756 #define CHFp_RARRAY( rank, ra, ...) Real* const ra, DIMARG ## rank ## p(ra)
00757 #define CHFp_CONST_RARRAY(rank, ra, ...) const Real* const ra, DIMARG ## rank ## p(ra)
00758 #define CHFp_CARRAY( rank, ra, ...) Complex* const ra, DIMARG ## rank ## p(ra)
00759 #define CHFp_CONST_CARRAY(rank, ra, ...) const Complex* const ra, DIMARG ## rank ## p(ra)
00760
00761
00762
00763 #define CHFp_INTVECT( r ) int* const r
00764 #define CHFp_CONST_INTVECT( r ) const int* const r
00765 #define CHFp_REALVECT( r ) Real* const r
00766 #define CHFp_CONST_REALVECT( r ) const Real* const r
00767 #define CHFp_COMPLEXVECT( r ) Complex* const r
00768 #define CHFp_CONST_COMPLEXVECT( r ) const Complex* const r
00769 #define CHFp_VI( v ) int * const v, const int* const i ## v ## hi0
00770 #define CHFp_CONST_VI( v ) const int * const v, const int* const i ## v ## hi0
00771 #define CHFp_VR( v ) Real * const v, const int* const i ## v ## hi0
00772 #define CHFp_CONST_VR( v ) const Real * const v, const int* const i ## v ## hi0
00773 #define CHFp_VC( v ) Complex * const v, const int* const i ## v ## hi0
00774 #define CHFp_CONST_VC( v ) const Complex * const v, const int* const i ## v ## hi0
00775
00776 #define CHFp_BOX( b ) D_DECL6( const int* const i ## b ## lo0 \
00777 ,const int* const i ## b ## lo1 \
00778 ,const int* const i ## b ## lo2 \
00779 ,const int* const i ## b ## lo3 \
00780 ,const int* const i ## b ## lo4 \
00781 ,const int* const i ## b ## lo5 ) \
00782 ,D_DECL6( const int* const i ## b ## hi0 \
00783 ,const int* const i ## b ## hi1 \
00784 ,const int* const i ## b ## hi2 \
00785 ,const int* const i ## b ## hi3 \
00786 ,const int* const i ## b ## hi4 \
00787 ,const int* const i ## b ## hi5 )
00788
00789 #define CHFp_FIA( a ) int *const a \
00790 ,D_DECL6( const int* const i ## a ## lo0 \
00791 ,const int* const i ## a ## lo1 \
00792 ,const int* const i ## a ## lo2 \
00793 ,const int* const i ## a ## lo3 \
00794 ,const int* const i ## a ## lo4 \
00795 ,const int* const i ## a ## lo5 ) \
00796 ,D_DECL6( const int* const i ## a ## hi0 \
00797 ,const int* const i ## a ## hi1 \
00798 ,const int* const i ## a ## hi2 \
00799 ,const int* const i ## a ## hi3 \
00800 ,const int* const i ## a ## hi4 \
00801 ,const int* const i ## a ## hi5 ) \
00802 ,const int* const n ## a ## comp
00803 #define CHFp_FRA( a ) Real *const a \
00804 ,D_DECL6( const int* const i ## a ## lo0 \
00805 ,const int* const i ## a ## lo1 \
00806 ,const int* const i ## a ## lo2 \
00807 ,const int* const i ## a ## lo3 \
00808 ,const int* const i ## a ## lo4 \
00809 ,const int* const i ## a ## lo5 ) \
00810 ,D_DECL6( const int* const i ## a ## hi0 \
00811 ,const int* const i ## a ## hi1 \
00812 ,const int* const i ## a ## hi2 \
00813 ,const int* const i ## a ## hi3 \
00814 ,const int* const i ## a ## hi4 \
00815 ,const int* const i ## a ## hi5 ) \
00816 ,const int* const n ## a ## comp
00817 #define CHFp_FCA( a ) Complex *const a \
00818 ,D_DECL6( const int* const i ## a ## lo0 \
00819 ,const int* const i ## a ## lo1 \
00820 ,const int* const i ## a ## lo2 \
00821 ,const int* const i ## a ## lo3 \
00822 ,const int* const i ## a ## lo4 \
00823 ,const int* const i ## a ## lo5 ) \
00824 ,D_DECL6( const int* const i ## a ## hi0 \
00825 ,const int* const i ## a ## hi1 \
00826 ,const int* const i ## a ## hi2 \
00827 ,const int* const i ## a ## hi0 \
00828 ,const int* const i ## a ## hi1 \
00829 ,const int* const i ## a ## hi2 ) \
00830 ,const int* const n ## a ## comp
00831 #define CHFp_CONST_FIA( a ) const int *const a \
00832 ,D_DECL6( const int* const i ## a ## lo0 \
00833 ,const int* const i ## a ## lo1 \
00834 ,const int* const i ## a ## lo2 \
00835 , const int* const i ## a ## lo3 \
00836 ,const int* const i ## a ## lo4 \
00837 ,const int* const i ## a ## lo5 ) \
00838 ,D_DECL6( const int* const i ## a ## hi0 \
00839 ,const int* const i ## a ## hi1 \
00840 ,const int* const i ## a ## hi2 \
00841 ,const int* const i ## a ## hi3 \
00842 ,const int* const i ## a ## hi4 \
00843 ,const int* const i ## a ## hi5 ) \
00844 ,const int* const n ## a ## comp
00845 #define CHFp_CONST_FBA1( a ) const char *const a \
00846 ,D_DECL6( const int* const i ## a ## lo0 \
00847 ,const int* const i ## a ## lo1 \
00848 ,const int* const i ## a ## lo2 \
00849 , const int* const i ## a ## lo3 \
00850 ,const int* const i ## a ## lo4 \
00851 ,const int* const i ## a ## lo5 ) \
00852 ,D_DECL6( const int* const i ## a ## hi0 \
00853 ,const int* const i ## a ## hi1 \
00854 ,const int* const i ## a ## hi2 \
00855 ,const int* const i ## a ## hi3 \
00856 ,const int* const i ## a ## hi4 \
00857 ,const int* const i ## a ## hi5 )
00858 #define CHFp_CONST_FRA( a ) const Real *const a \
00859 ,D_DECL6( const int* const i ## a ## lo0 \
00860 ,const int* const i ## a ## lo1 \
00861 ,const int* const i ## a ## lo2 \
00862 ,const int* const i ## a ## lo3 \
00863 ,const int* const i ## a ## lo4 \
00864 ,const int* const i ## a ## lo5 ) \
00865 ,D_DECL6( const int* const i ## a ## hi0 \
00866 ,const int* const i ## a ## hi1 \
00867 ,const int* const i ## a ## hi2 \
00868 ,const int* const i ## a ## hi3 \
00869 ,const int* const i ## a ## hi4 \
00870 ,const int* const i ## a ## hi5 ) \
00871 ,const int* const n ## a ## comp
00872 #define CHFp_CONST_FCA( a ) const Complex *const a \
00873 ,D_DECL6( const int* const i ## a ## lo0 \
00874 ,const int* const i ## a ## lo1 \
00875 ,const int* const i ## a ## lo2 \
00876 ,const int* const i ## a ## lo3 \
00877 ,const int* const i ## a ## lo4 \
00878 ,const int* const i ## a ## lo5 ) \
00879 ,D_DECL6( const int* const i ## a ## hi0 \
00880 ,const int* const i ## a ## hi1 \
00881 ,const int* const i ## a ## hi2 \
00882 ,const int* const i ## a ## hi3 \
00883 ,const int* const i ## a ## hi4 \
00884 ,const int* const i ## a ## hi5 ) \
00885 ,const int* const n ## a ## comp
00886 #define CHFp_FIA1( a ) int *const a \
00887 ,D_DECL6( const int* const i ## a ## lo0 \
00888 ,const int* const i ## a ## lo1 \
00889 ,const int* const i ## a ## lo2 \
00890 ,const int* const i ## a ## lo3 \
00891 ,const int* const i ## a ## lo4 \
00892 ,const int* const i ## a ## lo5 ) \
00893 ,D_DECL6( const int* const i ## a ## hi0 \
00894 ,const int* const i ## a ## hi1 \
00895 ,const int* const i ## a ## hi2 \
00896 ,const int* const i ## a ## hi3 \
00897 ,const int* const i ## a ## hi4 \
00898 ,const int* const i ## a ## hi5 )
00899 #define CHFp_FBA1( a ) char *const a \
00900 ,D_DECL6( const int* const i ## a ## lo0 \
00901 ,const int* const i ## a ## lo1 \
00902 ,const int* const i ## a ## lo2 \
00903 ,const int* const i ## a ## lo3 \
00904 ,const int* const i ## a ## lo4 \
00905 ,const int* const i ## a ## lo5 ) \
00906 ,D_DECL6( const int* const i ## a ## hi0 \
00907 ,const int* const i ## a ## hi1 \
00908 ,const int* const i ## a ## hi2 \
00909 ,const int* const i ## a ## hi3 \
00910 ,const int* const i ## a ## hi4 \
00911 ,const int* const i ## a ## hi5 )
00912
00913 #define CHFp_FRA1( a ) Real *const a \
00914 ,D_DECL6( const int* const i ## a ## lo0 \
00915 ,const int* const i ## a ## lo1 \
00916 ,const int* const i ## a ## lo2 \
00917 ,const int* const i ## a ## lo3 \
00918 ,const int* const i ## a ## lo4 \
00919 ,const int* const i ## a ## lo5 ) \
00920 ,D_DECL6( const int* const i ## a ## hi0 \
00921 ,const int* const i ## a ## hi1 \
00922 ,const int* const i ## a ## hi2 \
00923 ,const int* const i ## a ## hi3 \
00924 ,const int* const i ## a ## hi4 \
00925 ,const int* const i ## a ## hi5 )
00926 #define CHFp_FCA1( a ) Complex *const a \
00927 ,D_DECL6( const int* const i ## a ## lo0 \
00928 ,const int* const i ## a ## lo1 \
00929 ,const int* const i ## a ## lo2 \
00930 ,const int* const i ## a ## lo3 \
00931 ,const int* const i ## a ## lo4 \
00932 ,const int* const i ## a ## lo5 ) \
00933 ,D_DECL6( const int* const i ## a ## hi0 \
00934 ,const int* const i ## a ## hi1 \
00935 ,const int* const i ## a ## hi2 \
00936 ,const int* const i ## a ## hi3 \
00937 ,const int* const i ## a ## hi4 \
00938 ,const int* const i ## a ## hi5 )
00939 #define CHFp_CONST_FIA1( a ) const int *const a \
00940 ,D_DECL6( const int* const i ## a ## lo0 \
00941 ,const int* const i ## a ## lo1 \
00942 ,const int* const i ## a ## lo2 \
00943 ,const int* const i ## a ## lo3 \
00944 ,const int* const i ## a ## lo4 \
00945 ,const int* const i ## a ## lo5 ) \
00946 ,D_DECL6( const int* const i ## a ## hi0 \
00947 ,const int* const i ## a ## hi1 \
00948 ,const int* const i ## a ## hi2 \
00949 ,const int* const i ## a ## hi3 \
00950 ,const int* const i ## a ## hi4 \
00951 ,const int* const i ## a ## hi5 )
00952 #define CHFp_CONST_FRA1( a ) const Real *const a \
00953 ,D_DECL6( const int* const i ## a ## lo0 \
00954 ,const int* const i ## a ## lo1 \
00955 ,const int* const i ## a ## lo2 \
00956 ,const int* const i ## a ## lo3 \
00957 ,const int* const i ## a ## lo4 \
00958 ,const int* const i ## a ## lo5 ) \
00959 ,D_DECL6( const int* const i ## a ## hi0 \
00960 ,const int* const i ## a ## hi1 \
00961 ,const int* const i ## a ## hi2 \
00962 ,const int* const i ## a ## hi3 \
00963 ,const int* const i ## a ## hi4 \
00964 ,const int* const i ## a ## hi5 )
00965 #define CHFp_CONST_FCA1( a ) const Complex *const a \
00966 ,D_DECL6( const int* const i ## a ## lo0 \
00967 ,const int* const i ## a ## lo1 \
00968 ,const int* const i ## a ## lo2 \
00969 ,const int* const i ## a ## lo3 \
00970 ,const int* const i ## a ## lo4 \
00971 ,const int* const i ## a ## lo5 ) \
00972 ,D_DECL6( const int* const i ## a ## hi0 \
00973 ,const int* const i ## a ## hi1 \
00974 ,const int* const i ## a ## hi2 \
00975 ,const int* const i ## a ## hi3 \
00976 ,const int* const i ## a ## hi4 \
00977 ,const int* const i ## a ## hi5 )
00978
00979
00980
00981 #define CHFp_ICHARRAY( rank, ia) int* const ia, DIMARGp_X(rank, ia)
00982 #define CHFp_CONST_ICHARRAY(rank, ia) const int* const ia, DIMARGp_X(rank, ia)
00983 #define CHFp_RCHARRAY( rank, ra) Real* const ra, DIMARGp_X(rank, ra)
00984 #define CHFp_CONST_RCHARRAY(rank, ra) const Real* const ra, DIMARGp_X(rank, ra)
00985 #define CHFp_CCHARRAY( rank, ra) Complex* const ra, DIMARGp_X(rank, ra)
00986 #define CHFp_CONST_CCHARRAY(rank, ra) const Complex* const ra, DIMARGp_X(rank, ra)
00987
00988 #define CHFt_INT( i ) i
00989 #define CHFt_CONST_INT( i ) i
00990 #define CHFt_REAL( r ) r
00991 #define CHFt_CONST_REAL( r ) r
00992 #define CHFt_COMPLEX( c ) c
00993 #define CHFt_CONST_COMPLEX( c ) c
00994
00995 #define CHFt_I1D( ia,dimen ) ia, i ## ia ## hi0
00996 #define CHFt_CONST_I1D( ia,dimen ) ia, i ## ia ## hi0
00997 #define CHFt_R1D( ra,dimen ) ra, i ## ra ## hi0
00998 #define CHFt_CONST_R1D( ra,dimen ) ra, i ## ra ## hi0
00999 #define CHFt_C1D( ra,dimen ) ra, i ## ra ## hi0
01000 #define CHFt_CONST_C1D( ra,dimen ) ra, i ## ra ## hi0
01001
01002 #define CHFt_CONST_IARRAY(rank, ia, ...) ia, DIMARG ## rank ## t(ia)
01003 #define CHFt_IARRAY( rank, ia, ...) ia, DIMARG ## rank ## t(ia)
01004 #define CHFt_CONST_BARRAY(rank, ia, ...) ia, DIMARG ## rank ## t(ia)
01005 #define CHFt_BARRAY( rank, ia, ...) ia, DIMARG ## rank ## t(ia)
01006 #define CHFt_CONST_RARRAY(rank, ra, ...) ra, DIMARG ## rank ## t(ra)
01007 #define CHFt_RARRAY( rank, ra, ...) ra, DIMARG ## rank ## t(ra)
01008 #define CHFt_CONST_CARRAY(rank, ra, ...) ra, DIMARG ## rank ## t(ra)
01009 #define CHFt_CARRAY( rank, ra, ...) ra, DIMARG ## rank ## t(ra)
01010
01011
01012
01013 #define CHFt_INTVECT( r ) r
01014 #define CHFt_CONST_INTVECT( r ) r
01015 #define CHFt_REALVECT( r ) r
01016 #define CHFt_CONST_REALVECT( r ) r
01017 #define CHFt_COMPLEXVECT( r ) r
01018 #define CHFt_CONST_COMPLEXVECT( r ) r
01019 #define CHFt_VI( v ) v, i ## v ## hi0
01020 #define CHFt_CONST_VI( v ) v, i ## v ## hi0
01021 #define CHFt_VR( v ) v, i ## v ## hi0
01022 #define CHFt_CONST_VR( v ) v, i ## v ## hi0
01023 #define CHFt_VC( v ) v, i ## v ## hi0
01024 #define CHFt_CONST_VC( v ) v, i ## v ## hi0
01025
01026 #define CHFt_BOX( b ) D_DECL6( i ## b ## lo0 \
01027 , i ## b ## lo1 \
01028 , i ## b ## lo2 \
01029 , i ## b ## lo3 \
01030 , i ## b ## lo4 \
01031 , i ## b ## lo5 ) \
01032 ,D_DECL6( i ## b ## hi0 \
01033 , i ## b ## hi1 \
01034 , i ## b ## hi2 \
01035 , i ## b ## hi3 \
01036 , i ## b ## hi4 \
01037 , i ## b ## hi5 )
01038
01039 #define CHFt_FIA( a ) a \
01040 ,D_DECL6( i ## a ## lo0 \
01041 , i ## a ## lo1 \
01042 , i ## a ## lo2 \
01043 , i ## a ## lo3 \
01044 , i ## a ## lo4 \
01045 , i ## a ## lo5 ) \
01046 ,D_DECL6( i ## a ## hi0 \
01047 , i ## a ## hi1 \
01048 , i ## a ## hi2 \
01049 , i ## a ## hi3 \
01050 , i ## a ## hi4 \
01051 , i ## a ## hi5 ) \
01052 , n ## a ## comp
01053 #define CHFt_FRA( a ) a \
01054 ,D_DECL6( i ## a ## lo0 \
01055 , i ## a ## lo1 \
01056 , i ## a ## lo2 \
01057 , i ## a ## lo3 \
01058 , i ## a ## lo4 \
01059 , i ## a ## lo5 ) \
01060 ,D_DECL6( i ## a ## hi0 \
01061 , i ## a ## hi1 \
01062 , i ## a ## hi2 \
01063 , i ## a ## hi3 \
01064 , i ## a ## hi4 \
01065 , i ## a ## hi5 ) \
01066 , n ## a ## comp
01067 #define CHFt_FCA( a ) a \
01068 ,D_DECL6( i ## a ## lo0 \
01069 , i ## a ## lo1 \
01070 , i ## a ## lo2 \
01071 , i ## a ## lo3 \
01072 , i ## a ## lo4 \
01073 , i ## a ## lo5 ) \
01074 ,D_DECL6( i ## a ## hi0 \
01075 , i ## a ## hi1 \
01076 , i ## a ## hi2 \
01077 , i ## a ## hi3 \
01078 , i ## a ## hi4 \
01079 , i ## a ## hi5 ) \
01080 , n ## a ## comp
01081 #define CHFt_CONST_FIA( a ) a \
01082 ,D_DECL6( i ## a ## lo0 \
01083 , i ## a ## lo1 \
01084 , i ## a ## lo2 \
01085 , i ## a ## lo3 \
01086 , i ## a ## lo4 \
01087 , i ## a ## lo5 ) \
01088 ,D_DECL6( i ## a ## hi0 \
01089 , i ## a ## hi1 \
01090 , i ## a ## hi2 \
01091 , i ## a ## hi3 \
01092 , i ## a ## hi4 \
01093 , i ## a ## hi5 ) \
01094 , n ## a ## comp
01095 #define CHFt_CONST_FRA( a ) a \
01096 ,D_DECL6( i ## a ## lo0 \
01097 , i ## a ## lo1 \
01098 , i ## a ## lo2 \
01099 , i ## a ## lo3 \
01100 , i ## a ## lo4 \
01101 , i ## a ## lo5 ) \
01102 ,D_DECL6( i ## a ## hi0 \
01103 , i ## a ## hi1 \
01104 , i ## a ## hi2 \
01105 , i ## a ## hi3 \
01106 , i ## a ## hi4 \
01107 , i ## a ## hi5 ) \
01108 , n ## a ## comp
01109 #define CHFt_CONST_FCA( a ) a \
01110 ,D_DECL6( i ## a ## lo0 \
01111 , i ## a ## lo1 \
01112 , i ## a ## lo2 \
01113 , i ## a ## lo3 \
01114 , i ## a ## lo4 \
01115 , i ## a ## lo5 ) \
01116 ,D_DECL6( i ## a ## hi0 \
01117 , i ## a ## hi1 \
01118 , i ## a ## hi2 \
01119 , i ## a ## hi3 \
01120 , i ## a ## hi4 \
01121 , i ## a ## hi5 ) \
01122 , n ## a ## comp
01123 #define CHFt_FIA1( a ) a \
01124 ,D_DECL6( i ## a ## lo0 \
01125 , i ## a ## lo1 \
01126 , i ## a ## lo2 \
01127 , i ## a ## lo3 \
01128 , i ## a ## lo4 \
01129 , i ## a ## lo5 ) \
01130 ,D_DECL6( i ## a ## hi0 \
01131 , i ## a ## hi1 \
01132 , i ## a ## hi2 \
01133 , i ## a ## hi3 \
01134 , i ## a ## hi4 \
01135 , i ## a ## hi5 )
01136 #define CHFt_FRA1( a ) a \
01137 ,D_DECL6( i ## a ## lo0 \
01138 , i ## a ## lo1 \
01139 , i ## a ## lo2 \
01140 , i ## a ## lo3 \
01141 , i ## a ## lo4 \
01142 , i ## a ## lo5 ) \
01143 ,D_DECL6( i ## a ## hi0 \
01144 , i ## a ## hi1 \
01145 , i ## a ## hi2 \
01146 , i ## a ## hi3 \
01147 , i ## a ## hi4 \
01148 , i ## a ## hi5 )
01149 #define CHFt_FCA1( a ) a \
01150 ,D_DECL6( i ## a ## lo0 \
01151 , i ## a ## lo1 \
01152 , i ## a ## lo2 \
01153 , i ## a ## lo3 \
01154 , i ## a ## lo4 \
01155 , i ## a ## lo5 ) \
01156 ,D_DECL6( i ## a ## hi0 \
01157 , i ## a ## hi1 \
01158 , i ## a ## hi2 \
01159 , i ## a ## hi3 \
01160 , i ## a ## hi4 \
01161 , i ## a ## hi5 )
01162 #define CHFt_CONST_FIA1( a ) a \
01163 ,D_DECL6( i ## a ## lo0 \
01164 , i ## a ## lo1 \
01165 , i ## a ## lo2 \
01166 , i ## a ## lo3 \
01167 , i ## a ## lo4 \
01168 , i ## a ## lo5 ) \
01169 ,D_DECL6( i ## a ## hi0 \
01170 , i ## a ## hi1 \
01171 , i ## a ## hi2 \
01172 , i ## a ## hi3 \
01173 , i ## a ## hi4 \
01174 , i ## a ## hi5 )
01175 #define CHFt_CONST_FBA1( a ) a \
01176 ,D_DECL6( i ## a ## lo0 \
01177 , i ## a ## lo1 \
01178 , i ## a ## lo2 \
01179 , i ## a ## lo3 \
01180 , i ## a ## lo4 \
01181 , i ## a ## lo5 ) \
01182 ,D_DECL6( i ## a ## hi0 \
01183 , i ## a ## hi1 \
01184 , i ## a ## hi2 \
01185 , i ## a ## hi3 \
01186 , i ## a ## hi4 \
01187 , i ## a ## hi5 )
01188 #define CHFt_CONST_FRA1( a ) a \
01189 ,D_DECL6( i ## a ## lo0 \
01190 , i ## a ## lo1 \
01191 , i ## a ## lo2 \
01192 , i ## a ## lo3 \
01193 , i ## a ## lo4 \
01194 , i ## a ## lo5 ) \
01195 ,D_DECL6( i ## a ## hi0 \
01196 , i ## a ## hi1 \
01197 , i ## a ## hi2 \
01198 , i ## a ## hi3 \
01199 , i ## a ## hi4 \
01200 , i ## a ## hi5 )
01201 #define CHFt_CONST_FCA1( a ) a \
01202 ,D_DECL6( i ## a ## lo0 \
01203 , i ## a ## lo1 \
01204 , i ## a ## lo2 \
01205 , i ## a ## lo3 \
01206 , i ## a ## lo4 \
01207 , i ## a ## lo5 ) \
01208 ,D_DECL6( i ## a ## hi0 \
01209 , i ## a ## hi1 \
01210 , i ## a ## hi2 \
01211 , i ## a ## hi3 \
01212 , i ## a ## hi4 \
01213 , i ## a ## hi5 )
01214
01215
01216
01217 #define CHFt_CONST_ICHARRAY(rank, ia) ia, DIMARGt_X(rank, ia)
01218 #define CHFt_ICHARRAY( rank, ia) ia, DIMARGt_X(rank, ia)
01219 #define CHFt_CONST_RCHARRAY(rank, ra) ra, DIMARGt_X(rank, ra)
01220 #define CHFt_RCHARRAY( rank, ra) ra, DIMARGt_X(rank, ra)
01221 #define CHFt_CONST_CCHARRAY(rank, ra) ra, DIMARGt_X(rank, ra)
01222 #define CHFt_CCHARRAY( rank, ra) ra, DIMARGt_X(rank, ra)
01223
01224 #include "BaseNamespaceFooter.H"
01225 #endif