Go to the documentation of this file. 19 #ifndef _FORT_PROTO_H_ 20 #define _FORT_PROTO_H_ 31 #define FORTRAN_NAME( NAME ,name ) 68 #define CHF_MULTIDO(box, i, j, k) 86 operator const int*()
const 92 #define CHFPTR(a) (const int*)chfptr(a) 93 #define CHFPTR1(alo,ahi) \ 94 (const int*)chfptr(alo),(const int*)chfptr(ahi) 95 #define CHFPTR2(alo,blo,ahi,bhi) \ 96 (const int*)chfptr(alo),(const int*)chfptr(blo), \ 97 (const int*)chfptr(ahi),(const int*)chfptr(bhi) 98 #define CHFPTR3(alo,blo,clo,ahi,bhi,chi) \ 99 (const int*)chfptr(alo),(const int*)chfptr(blo),(const int*)chfptr(clo), \ 100 (const int*)chfptr(ahi),(const int*)chfptr(bhi),(const int*)chfptr(chi) 101 #define CHFPTR4(alo,blo,clo,dlo,ahi,bhi,chi,dhi) \ 102 (const int*)chfptr(alo),(const int*)chfptr(blo),(const int*)chfptr(clo),(const int*)chfptr(dlo), \ 103 (const int*)chfptr(ahi),(const int*)chfptr(bhi),(const int*)chfptr(chi),(const int*)chfptr(dhi) 104 #define CHFPTR5(alo,blo,clo,dlo,elo,ahi,bhi,chi,dhi,ehi) \ 105 (const int*)chfptr(alo),(const int*)chfptr(blo),(const int*)chfptr(clo),(const int*)chfptr(dlo),(const int*)chfptr(elo), \ 106 (const int*)chfptr(ahi),(const int*)chfptr(bhi),(const int*)chfptr(chi),(const int*)chfptr(dhi),(const int*)chfptr(ehi) 107 #define CHFPTR6(alo,blo,clo,dlo,elo,flo,ahi,bhi,chi,dhi,ehi,fhi) \ 108 (const int*)chfptr(alo),(const int*)chfptr(blo),(const int*)chfptr(clo),(const int*)chfptr(dlo),(const int*)chfptr(elo),(const int*)chfptr(flo), \ 109 (const int*)chfptr(ahi),(const int*)chfptr(bhi),(const int*)chfptr(chi),(const int*)chfptr(dhi),(const int*)chfptr(ehi),(const int*)chfptr(fhi) 110 #define CHFPTR7(alo,blo,clo,dlo,elo,flo,glo,ahi,bhi,chi,dhi,ehi,fhi,ghi) \ 111 (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), \ 112 (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) 114 #define ARCHFPTR1(anm) CHFPTR1(anm.lowerBound(0), \ 116 #define ARCHFPTR2(anm) CHFPTR2(anm.lowerBound(0),anm.lowerBound(1), \ 117 anm.upperBound(0),anm.upperBound(1)) 118 #define ARCHFPTR3(anm) CHFPTR3(anm.lowerBound(0),anm.lowerBound(1),anm.lowerBound(2), \ 119 anm.upperBound(0),anm.upperBound(1),anm.upperBound(2)) 120 #define ARCHFPTR4(anm) CHFPTR4(anm.lowerBound(0),anm.lowerBound(1),anm.lowerBound(2),anm.lowerBound(3), \ 121 anm.upperBound(0),anm.upperBound(1),anm.upperBound(2),anm.upperBound(3)) 122 #define ARCHFPTR5(anm) CHFPTR5(anm.lowerBound(0),anm.lowerBound(1),anm.lowerBound(2),anm.lowerBound(3),anm.lowerBound(4), \ 123 anm.upperBound(0),anm.upperBound(1),anm.upperBound(2),anm.upperBound(3),anm.upperBound(4)) 124 #define ARCHFPTR6(anm) CHFPTR6(anm.lowerBound(0),anm.lowerBound(1),anm.lowerBound(2),anm.lowerBound(3),anm.lowerBound(4),anm.lowerBound(5), \ 125 anm.upperBound(0),anm.upperBound(1),anm.upperBound(2),anm.upperBound(3),anm.upperBound(4),anm.upperBound(5)) 126 #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), \ 127 anm.upperBound(0),anm.upperBound(1),anm.upperBound(2),anm.upperBound(3),anm.upperBound(4),anm.upperBound(5),anm.upperBound(6)) 130 #define DIMARGp_X(rank, anm) DIMARG ## rank ## p(anm) 131 #define DIMARG1p( anm ) const int* const i ## anm ## lo0, \ 132 const int* const i ## anm ## hi0 133 #define DIMARG2p( anm ) const int* const i ## anm ## lo0, \ 134 const int* const i ## anm ## lo1, \ 135 const int* const i ## anm ## hi0, \ 136 const int* const i ## anm ## hi1 137 #define DIMARG3p( anm ) const int* const i ## anm ## lo0, \ 138 const int* const i ## anm ## lo1, \ 139 const int* const i ## anm ## lo2, \ 140 const int* const i ## anm ## hi0, \ 141 const int* const i ## anm ## hi1, \ 142 const int* const i ## anm ## hi2 143 #define DIMARG4p( anm ) const int* const i ## anm ## lo0, \ 144 const int* const i ## anm ## lo1, \ 145 const int* const i ## anm ## lo2, \ 146 const int* const i ## anm ## lo3, \ 147 const int* const i ## anm ## hi0, \ 148 const int* const i ## anm ## hi1, \ 149 const int* const i ## anm ## hi2, \ 150 const int* const i ## anm ## hi3 151 #define DIMARG5p( anm ) const int* const i ## anm ## lo0, \ 152 const int* const i ## anm ## lo1, \ 153 const int* const i ## anm ## lo2, \ 154 const int* const i ## anm ## lo3, \ 155 const int* const i ## anm ## lo4, \ 156 const int* const i ## anm ## hi0, \ 157 const int* const i ## anm ## hi1, \ 158 const int* const i ## anm ## hi2, \ 159 const int* const i ## anm ## hi3, \ 160 const int* const i ## anm ## hi4 161 #define DIMARG6p( anm ) const int* const i ## anm ## lo0, \ 162 const int* const i ## anm ## lo1, \ 163 const int* const i ## anm ## lo2, \ 164 const int* const i ## anm ## lo3, \ 165 const int* const i ## anm ## lo4, \ 166 const int* const i ## anm ## lo5, \ 167 const int* const i ## anm ## hi0, \ 168 const int* const i ## anm ## hi1, \ 169 const int* const i ## anm ## hi2, \ 170 const int* const i ## anm ## hi3, \ 171 const int* const i ## anm ## hi4, \ 172 const int* const i ## anm ## hi5 173 #define DIMARG7p( anm ) const int* const i ## anm ## lo0, \ 174 const int* const i ## anm ## lo1, \ 175 const int* const i ## anm ## lo2, \ 176 const int* const i ## anm ## lo3, \ 177 const int* const i ## anm ## lo4, \ 178 const int* const i ## anm ## lo5, \ 179 const int* const i ## anm ## lo6, \ 180 const int* const i ## anm ## hi0, \ 181 const int* const i ## anm ## hi1, \ 182 const int* const i ## anm ## hi2, \ 183 const int* const i ## anm ## hi3, \ 184 const int* const i ## anm ## hi4, \ 185 const int* const i ## anm ## hi5, \ 186 const int* const i ## anm ## hi6 188 #define DIMARGt_X(rank, anm) DIMARG ## rank ## t(anm) 189 #define DIMARG1t( anm ) i ## anm ## lo0, \ 191 #define DIMARG2t( anm ) i ## anm ## lo0, \ 195 #define DIMARG3t( anm ) i ## anm ## lo0, \ 201 #define DIMARG4t( anm ) i ## anm ## lo0, \ 209 #define DIMARG5t( anm ) i ## anm ## lo0, \ 219 #define DIMARG6t( anm ) i ## anm ## lo0, \ 231 #define DIMARG7t( anm ) i ## anm ## lo0, \ 247 #define CHF_ARRAY_X(rank, ...) CHFPTR ## rank(__VA_ARGS__) 248 #define CHF_CHARRAY_X(rank, name) ARCHFPTR ## rank(name) 252 # define RANK_SPACEDIM_PLUS_0 1 253 # define RANK_SPACEDIM_PLUS_1 2 254 # define RANK_SPACEDIM_PLUS_2 3 255 # define RANK_SPACEDIM_PLUS_3 4 256 # define RANK_SPACEDIM_PLUS_4 5 257 # define RANK_SPACEDIM_PLUS_5 6 258 # define RANK_SPACEDIM_PLUS_6 7 260 # define RANK_SPACEDIM_PLUS_0 2 261 # define RANK_SPACEDIM_PLUS_1 3 262 # define RANK_SPACEDIM_PLUS_2 4 263 # define RANK_SPACEDIM_PLUS_3 5 264 # define RANK_SPACEDIM_PLUS_4 6 265 # define RANK_SPACEDIM_PLUS_5 7 267 # define RANK_SPACEDIM_PLUS_0 3 268 # define RANK_SPACEDIM_PLUS_1 4 269 # define RANK_SPACEDIM_PLUS_2 5 270 # define RANK_SPACEDIM_PLUS_3 6 271 # define RANK_SPACEDIM_PLUS_4 7 273 # define RANK_SPACEDIM_PLUS_0 4 274 # define RANK_SPACEDIM_PLUS_1 5 275 # define RANK_SPACEDIM_PLUS_2 6 276 # define RANK_SPACEDIM_PLUS_3 7 278 # define RANK_SPACEDIM_PLUS_0 5 279 # define RANK_SPACEDIM_PLUS_1 6 280 # define RANK_SPACEDIM_PLUS_2 7 282 # define RANK_SPACEDIM_PLUS_0 6 283 # define RANK_SPACEDIM_PLUS_1 7 293 #define CHF_INT( i ) &i 295 #define CHF_CONST_INT( i ) &i 297 #define CHF_REAL( r ) &r 299 #define CHF_CONST_REAL( r ) &r 301 #define CHF_COMPLEX( c ) &c 303 #define CHF_CONST_COMPLEX( c ) &c 305 #define CHF_I1D( ia,dimen ) ia,(const int*)chfptr(dimen-1) 307 #define CHF_CONST_I1D( ia,dimen ) ia,(const int*)chfptr(dimen-1) 309 #define CHF_R1D( ra,dimen ) ra,(const int*)chfptr(dimen-1) 311 #define CHF_CONST_R1D( ra,dimen ) ra,(const int*)chfptr(dimen-1) 313 #define CHF_C1D( ra,dimen ) ra,(const int*)chfptr(dimen-1) 315 #define CHF_CONST_C1D( ra,dimen ) ra,(const int*)chfptr(dimen-1) 318 #define CHF_IARRAY(rank, ia, ...) ia,CHF_ARRAY_X(rank, __VA_ARGS__) 320 #define CHF_CONST_IARRAY(rank, ia, ...) ia,CHF_ARRAY_X(rank, __VA_ARGS__) 322 #define CHF_RARRAY(rank, ia, ...) ia,CHF_ARRAY_X(rank, __VA_ARGS__) 324 #define CHF_CONST_RARRAY(rank, ia, ...) ia,CHF_ARRAY_X(rank, __VA_ARGS__) 326 #define CHF_CARRAY(rank, ia, ...) ia,CHF_ARRAY_X(rank, __VA_ARGS__) 328 #define CHF_CONST_CARRAY(rank, ia, ...) ia,CHF_ARRAY_X(rank, __VA_ARGS__) 333 #define CHF_INTVECT( a ) a.dataPtr( ) 335 #define CHF_CONST_INTVECT( a ) a.dataPtr( ) 337 #define CHF_REALVECT( a ) a.dataPtr( ) 339 #define CHF_CONST_REALVECT( a ) a.dataPtr( ) 341 #define CHF_COMPLEXVECT( a ) a.dataPtr( ) 343 #define CHF_CONST_COMPLEXVECT( a ) a.dataPtr( ) 345 #define CHF_VI( v ) &v[0],(const int*)chfptr(v.size()-1) 347 #define CHF_CONST_VI( v ) &v[0],(const int*)chfptr(v.size()-1) 349 #define CHF_VR( v ) &v[0],(const int*)chfptr(v.size()-1) 351 #define CHF_CONST_VR( v ) &v[0],(const int*)chfptr(v.size()-1) 353 #define CHF_VC( v ) &v[0],(const int*)chfptr(v.size()-1) 355 #define CHF_CONST_VC( v ) &v[0],(const int*)chfptr(v.size()-1) 358 #define CHF_BOX( b ) D_DECL6( &b.loVect()[0] \ 364 ,D_DECL6( &b.hiVect()[0] \ 371 #define CHF_BOX_SHIFT( b , iv) D_DECL6( CHFPTR(b.loVect()[0] - iv[0]), \ 372 CHFPTR(b.loVect()[1] - iv[1]), \ 373 CHFPTR(b.loVect()[2] - iv[2]), \ 374 CHFPTR(b.loVect()[3] - iv[3]), \ 375 CHFPTR(b.loVect()[4] - iv[4]), \ 376 CHFPTR(b.loVect()[5] - iv[5])) \ 377 ,D_DECL6( CHFPTR(b.hiVect()[0] - iv[0]), \ 378 CHFPTR(b.hiVect()[1] - iv[1]), \ 379 CHFPTR(b.hiVect()[2] - iv[2]), \ 380 CHFPTR(b.hiVect()[3] - iv[3]), \ 381 CHFPTR(b.hiVect()[4] - iv[4]), \ 382 CHFPTR(b.hiVect()[5] - iv[5])) 385 #define CHF_FIA( a ) a.dataPtr( 0 ) \ 386 ,D_DECL6( &a.loVect()[0] \ 392 ,D_DECL6( &a.hiVect()[0] \ 401 #define CHF_FIA_SHIFT( a, iv ) \ 403 D_DECL6( CHFPTR(a.loVect()[0] - iv[0]), \ 404 CHFPTR(a.loVect()[1] - iv[1]), \ 405 CHFPTR(a.loVect()[2] - iv[2]), \ 406 CHFPTR(a.loVect()[3] - iv[3]), \ 407 CHFPTR(a.loVect()[4] - iv[4]), \ 408 CHFPTR(a.loVect()[5] - iv[5]) ), \ 409 D_DECL6( CHFPTR(a.hiVect()[0] - iv[0]), \ 410 CHFPTR(a.hiVect()[1] - iv[1]), \ 411 CHFPTR(a.hiVect()[2] - iv[2]), \ 412 CHFPTR(a.hiVect()[3] - iv[3]), \ 413 CHFPTR(a.hiVect()[4] - iv[4]), \ 414 CHFPTR(a.hiVect()[5] - iv[5]) ), \ 418 #define CHF_FRA( a ) a.dataPtr( 0 ) \ 419 ,D_DECL6( &a.loVect()[0] \ 425 ,D_DECL6( &a.hiVect()[0] \ 434 #define CHF_FRA_SHIFT( a , iv) a.dataPtr( 0 ), \ 435 D_DECL6( CHFPTR(a.loVect()[0] - iv[0]), \ 436 CHFPTR(a.loVect()[1] - iv[1]), \ 437 CHFPTR(a.loVect()[2] - iv[2]), \ 438 CHFPTR(a.loVect()[3] - iv[3]), \ 439 CHFPTR(a.loVect()[4] - iv[4]), \ 440 CHFPTR(a.loVect()[5] - iv[5])) \ 441 ,D_DECL6( CHFPTR(a.hiVect()[0] - iv[0]), \ 442 CHFPTR(a.hiVect()[1] - iv[1]), \ 443 CHFPTR(a.hiVect()[2] - iv[2]), \ 444 CHFPTR(a.hiVect()[3] - iv[3]), \ 445 CHFPTR(a.hiVect()[4] - iv[4]), \ 446 CHFPTR(a.hiVect()[5] - iv[5])) \ 450 #define CHF_FCA( a ) a.dataPtr( 0 ) \ 451 ,D_DECL6( &a.loVect()[0] \ 457 ,D_DECL6( &a.hiVect()[0] \ 466 #define CHF_CONST_FIA( a ) a.dataPtr( 0 ) \ 467 ,D_DECL6( &a.loVect()[0] \ 473 ,D_DECL6( &a.hiVect()[0] \ 482 #define CHF_CONST_FIA_SHIFT( a, iv ) \ 484 D_DECL6( CHFPTR(a.loVect()[0] - iv[0]), \ 485 CHFPTR(a.loVect()[1] - iv[1]), \ 486 CHFPTR(a.loVect()[2] - iv[2]), \ 487 CHFPTR(a.loVect()[3] - iv[3]), \ 488 CHFPTR(a.loVect()[4] - iv[4]), \ 489 CHFPTR(a.loVect()[5] - iv[5]) ), \ 490 D_DECL6( CHFPTR(a.hiVect()[0] - iv[0]), \ 491 CHFPTR(a.hiVect()[1] - iv[1]), \ 492 CHFPTR(a.hiVect()[2] - iv[2]), \ 493 CHFPTR(a.hiVect()[3] - iv[3]), \ 494 CHFPTR(a.hiVect()[4] - iv[4]), \ 495 CHFPTR(a.hiVect()[5] - iv[5]) ), \ 499 #define CHF_CONST_FRA( a ) a.dataPtr( 0 ) \ 500 ,D_DECL6( &a.loVect()[0] \ 506 ,D_DECL6( &a.hiVect()[0] \ 515 #define CHF_CONST_FRA_SHIFT( a , iv) a.dataPtr( 0 ), \ 516 D_DECL6( CHFPTR(a.loVect()[0] - iv[0]), \ 517 CHFPTR(a.loVect()[1] - iv[1]), \ 518 CHFPTR(a.loVect()[2] - iv[2]), \ 519 CHFPTR(a.loVect()[3] - iv[3]), \ 520 CHFPTR(a.loVect()[4] - iv[4]), \ 521 CHFPTR(a.loVect()[5] - iv[5])) \ 522 ,D_DECL6( CHFPTR(a.hiVect()[0] - iv[0]), \ 523 CHFPTR(a.hiVect()[1] - iv[1]), \ 524 CHFPTR(a.hiVect()[2] - iv[2]), \ 525 CHFPTR(a.hiVect()[3] - iv[3]), \ 526 CHFPTR(a.hiVect()[4] - iv[4]), \ 527 CHFPTR(a.hiVect()[5] - iv[5])) \ 531 #define CHF_CONST_FCA( a ) a.dataPtr( 0 ) \ 532 ,D_DECL6( &a.loVect()[0] \ 538 ,D_DECL6( &a.hiVect()[0] \ 547 #define CHF_FIA1( a,n ) a.dataPtr( n ) \ 548 ,D_DECL6( &a.loVect()[0] \ 554 ,D_DECL6( &a.hiVect()[0] \ 562 #define CHF_FIA1_SHIFT( a, n, iv ) \ 564 D_DECL6( CHFPTR(a.loVect()[0] - iv[0]), \ 565 CHFPTR(a.loVect()[1] - iv[1]), \ 566 CHFPTR(a.loVect()[2] - iv[2]), \ 567 CHFPTR(a.loVect()[3] - iv[3]), \ 568 CHFPTR(a.loVect()[4] - iv[4]), \ 569 CHFPTR(a.loVect()[5] - iv[5]) ), \ 570 D_DECL6( CHFPTR(a.hiVect()[0] - iv[0]), \ 571 CHFPTR(a.hiVect()[1] - iv[1]), \ 572 CHFPTR(a.hiVect()[2] - iv[2]), \ 573 CHFPTR(a.hiVect()[3] - iv[3]), \ 574 CHFPTR(a.hiVect()[4] - iv[4]), \ 575 CHFPTR(a.hiVect()[5] - iv[5]) ) 578 #define CHF_FRA1( a,n ) a.dataPtr( n ) \ 579 ,D_DECL6( &a.loVect()[0] \ 585 ,D_DECL6( &a.hiVect()[0] \ 593 #define CHF_FRA1_SHIFT( a, n, iv) \ 595 D_DECL6( CHFPTR(a.loVect()[0] - iv[0]), \ 596 CHFPTR(a.loVect()[1] - iv[1]), \ 597 CHFPTR(a.loVect()[2] - iv[2]), \ 598 CHFPTR(a.loVect()[3] - iv[3]), \ 599 CHFPTR(a.loVect()[4] - iv[4]), \ 600 CHFPTR(a.loVect()[5] - iv[5]) ), \ 601 D_DECL6( CHFPTR(a.hiVect()[0] - iv[0]), \ 602 CHFPTR(a.hiVect()[1] - iv[1]), \ 603 CHFPTR(a.hiVect()[2] - iv[2]), \ 604 CHFPTR(a.hiVect()[3] - iv[3]), \ 605 CHFPTR(a.hiVect()[4] - iv[4]), \ 606 CHFPTR(a.hiVect()[5] - iv[5]) ) 609 #define CHF_FCA1( a,n ) a.dataPtr( n ) \ 610 ,D_DECL6( &a.loVect()[0] \ 616 ,D_DECL6( &a.hiVect()[0] \ 624 #define CHF_CONST_FIA1( a,n ) a.dataPtr( n ) \ 625 ,D_DECL6( &a.loVect()[0] \ 631 ,D_DECL6( &a.hiVect()[0] \ 638 #define CHF_CONST_FBA1( a,n ) a.dataPtr( n ) \ 639 ,D_DECL6( &a.loVect()[0] \ 645 ,D_DECL6( &a.hiVect()[0] \ 653 #define CHF_CONST_FIA1_SHIFT( a, n, iv ) \ 655 D_DECL6( CHFPTR(a.loVect()[0] - iv[0]), \ 656 CHFPTR(a.loVect()[1] - iv[1]), \ 657 CHFPTR(a.loVect()[2] - iv[2]), \ 658 CHFPTR(a.loVect()[3] - iv[3]), \ 659 CHFPTR(a.loVect()[4] - iv[4]), \ 660 CHFPTR(a.loVect()[5] - iv[5]) ), \ 661 D_DECL6( CHFPTR(a.hiVect()[0] - iv[0]), \ 662 CHFPTR(a.hiVect()[1] - iv[1]), \ 663 CHFPTR(a.hiVect()[2] - iv[2]), \ 664 CHFPTR(a.hiVect()[3] - iv[3]), \ 665 CHFPTR(a.hiVect()[4] - iv[4]), \ 666 CHFPTR(a.hiVect()[5] - iv[5]) ) 669 #define CHF_CONST_FRA1( a,n ) a.dataPtr( n ) \ 670 ,D_DECL6( &a.loVect()[0] \ 676 ,D_DECL6( &a.hiVect()[0] \ 685 #define CHF_CONST_FRA1_SHIFT( a, n, iv) \ 687 D_DECL6( CHFPTR(a.loVect()[0] - iv[0]), \ 688 CHFPTR(a.loVect()[1] - iv[1]), \ 689 CHFPTR(a.loVect()[2] - iv[2]), \ 690 CHFPTR(a.loVect()[3] - iv[3]), \ 691 CHFPTR(a.loVect()[4] - iv[4]), \ 692 CHFPTR(a.loVect()[5] - iv[5]) ), \ 693 D_DECL6( CHFPTR(a.hiVect()[0] - iv[0]), \ 694 CHFPTR(a.hiVect()[1] - iv[1]), \ 695 CHFPTR(a.hiVect()[2] - iv[2]), \ 696 CHFPTR(a.hiVect()[3] - iv[3]), \ 697 CHFPTR(a.hiVect()[4] - iv[4]), \ 698 CHFPTR(a.hiVect()[5] - iv[5]) ) 701 #define CHF_CONST_FCA1( a,n ) a.dataPtr( n ) \ 702 ,D_DECL6( &a.loVect()[0] \ 708 ,D_DECL6( &a.hiVect()[0] \ 716 #define CHF_ICHARRAY(rank, ia) ia.begin(),CHF_CHARRAY_X(rank, ia) 718 #define CHF_CONST_ICHARRAY(rank, ia) ia.begin(),CHF_CHARRAY_X(rank, ia) 720 #define CHF_RCHARRAY(rank, ra) ra.begin(),CHF_CHARRAY_X(rank, ra) 722 #define CHF_CONST_RCHARRAY(rank, ra) ra.begin(),CHF_CHARRAY_X(rank, ra) 724 #define CHF_CCHARRAY(rank, ra) ra.begin(),CHF_CHARRAY_X(rank, ra) 726 #define CHF_CONST_CCHARRAY(rank, ra) ra.begin(),CHF_CHARRAY_X(rank, ra) 728 #define CHF_VECTOR(ra) ra.begin(),CHF_CHARRAY_X(1, ra) 730 #define CHF_CONST_VECTOR(ra) ra.begin(),CHF_CHARRAY_X(1, ra) 732 #define CHF_MATRIX(ra) ra.begin(),CHF_CHARRAY_X(2, ra) 734 #define CHF_CONST_MATRIX(ra) ra.begin(),CHF_CHARRAY_X(2, ra) 740 #define CHFp_INT( i ) int* const i 741 #define CHFp_CONST_INT( i ) const int* const i 742 #define CHFp_REAL( r ) Real* const r 743 #define CHFp_CONST_REAL( r ) const Real* const r 744 #define CHFp_COMPLEX( c ) Complex* const c 745 #define CHFp_CONST_COMPLEX( c ) const Complex* const c 747 #define CHFp_I1D( ia,dimen ) int* const ia, const int* const i ## ia ## hi0 748 #define CHFp_CONST_I1D( ia,dimen ) const int* const ia, const int* const i ## ia ## hi0 749 #define CHFp_R1D( ra,dimen ) Real* const ra, const int* const i ## ra ## hi0 750 #define CHFp_CONST_R1D( ra,dimen ) const Real* const ra, const int* const i ## ra ## hi0 751 #define CHFp_C1D( ra,dimen ) Complex* const ra, const int* const i ## ra ## hi0 752 #define CHFp_CONST_C1D( ra,dimen ) const Complex* const ra, const int* const i ## ra ## hi0 754 #define CHFp_IARRAY( rank, ia, ...) int* const ia, DIMARG ## rank ## p(ia) 755 #define CHFp_CONST_IARRAY(rank, ia, ...) const int* const ia, DIMARG ## rank ## p(ia) 756 #define CHFp_RARRAY( rank, ra, ...) Real* const ra, DIMARG ## rank ## p(ra) 757 #define CHFp_CONST_RARRAY(rank, ra, ...) const Real* const ra, DIMARG ## rank ## p(ra) 758 #define CHFp_CARRAY( rank, ra, ...) Complex* const ra, DIMARG ## rank ## p(ra) 759 #define CHFp_CONST_CARRAY(rank, ra, ...) const Complex* const ra, DIMARG ## rank ## p(ra) 763 #define CHFp_INTVECT( r ) int* const r 764 #define CHFp_CONST_INTVECT( r ) const int* const r 765 #define CHFp_REALVECT( r ) Real* const r 766 #define CHFp_CONST_REALVECT( r ) const Real* const r 767 #define CHFp_COMPLEXVECT( r ) Complex* const r 768 #define CHFp_CONST_COMPLEXVECT( r ) const Complex* const r 769 #define CHFp_VI( v ) int * const v, const int* const i ## v ## hi0 770 #define CHFp_CONST_VI( v ) const int * const v, const int* const i ## v ## hi0 771 #define CHFp_VR( v ) Real * const v, const int* const i ## v ## hi0 772 #define CHFp_CONST_VR( v ) const Real * const v, const int* const i ## v ## hi0 773 #define CHFp_VC( v ) Complex * const v, const int* const i ## v ## hi0 774 #define CHFp_CONST_VC( v ) const Complex * const v, const int* const i ## v ## hi0 776 #define CHFp_BOX( b ) D_DECL6( const int* const i ## b ## lo0 \ 777 ,const int* const i ## b ## lo1 \ 778 ,const int* const i ## b ## lo2 \ 779 ,const int* const i ## b ## lo3 \ 780 ,const int* const i ## b ## lo4 \ 781 ,const int* const i ## b ## lo5 ) \ 782 ,D_DECL6( const int* const i ## b ## hi0 \ 783 ,const int* const i ## b ## hi1 \ 784 ,const int* const i ## b ## hi2 \ 785 ,const int* const i ## b ## hi3 \ 786 ,const int* const i ## b ## hi4 \ 787 ,const int* const i ## b ## hi5 ) 789 #define CHFp_FIA( a ) int *const a \ 790 ,D_DECL6( const int* const i ## a ## lo0 \ 791 ,const int* const i ## a ## lo1 \ 792 ,const int* const i ## a ## lo2 \ 793 ,const int* const i ## a ## lo3 \ 794 ,const int* const i ## a ## lo4 \ 795 ,const int* const i ## a ## lo5 ) \ 796 ,D_DECL6( const int* const i ## a ## hi0 \ 797 ,const int* const i ## a ## hi1 \ 798 ,const int* const i ## a ## hi2 \ 799 ,const int* const i ## a ## hi3 \ 800 ,const int* const i ## a ## hi4 \ 801 ,const int* const i ## a ## hi5 ) \ 802 ,const int* const n ## a ## comp 803 #define CHFp_FRA( a ) Real *const a \ 804 ,D_DECL6( const int* const i ## a ## lo0 \ 805 ,const int* const i ## a ## lo1 \ 806 ,const int* const i ## a ## lo2 \ 807 ,const int* const i ## a ## lo3 \ 808 ,const int* const i ## a ## lo4 \ 809 ,const int* const i ## a ## lo5 ) \ 810 ,D_DECL6( const int* const i ## a ## hi0 \ 811 ,const int* const i ## a ## hi1 \ 812 ,const int* const i ## a ## hi2 \ 813 ,const int* const i ## a ## hi3 \ 814 ,const int* const i ## a ## hi4 \ 815 ,const int* const i ## a ## hi5 ) \ 816 ,const int* const n ## a ## comp 817 #define CHFp_FCA( a ) Complex *const a \ 818 ,D_DECL6( const int* const i ## a ## lo0 \ 819 ,const int* const i ## a ## lo1 \ 820 ,const int* const i ## a ## lo2 \ 821 ,const int* const i ## a ## lo3 \ 822 ,const int* const i ## a ## lo4 \ 823 ,const int* const i ## a ## lo5 ) \ 824 ,D_DECL6( const int* const i ## a ## hi0 \ 825 ,const int* const i ## a ## hi1 \ 826 ,const int* const i ## a ## hi2 \ 827 ,const int* const i ## a ## hi0 \ 828 ,const int* const i ## a ## hi1 \ 829 ,const int* const i ## a ## hi2 ) \ 830 ,const int* const n ## a ## comp 831 #define CHFp_CONST_FIA( a ) const int *const a \ 832 ,D_DECL6( const int* const i ## a ## lo0 \ 833 ,const int* const i ## a ## lo1 \ 834 ,const int* const i ## a ## lo2 \ 835 , const int* const i ## a ## lo3 \ 836 ,const int* const i ## a ## lo4 \ 837 ,const int* const i ## a ## lo5 ) \ 838 ,D_DECL6( const int* const i ## a ## hi0 \ 839 ,const int* const i ## a ## hi1 \ 840 ,const int* const i ## a ## hi2 \ 841 ,const int* const i ## a ## hi3 \ 842 ,const int* const i ## a ## hi4 \ 843 ,const int* const i ## a ## hi5 ) \ 844 ,const int* const n ## a ## comp 845 #define CHFp_CONST_FBA1( a ) const char *const a \ 846 ,D_DECL6( const int* const i ## a ## lo0 \ 847 ,const int* const i ## a ## lo1 \ 848 ,const int* const i ## a ## lo2 \ 849 , const int* const i ## a ## lo3 \ 850 ,const int* const i ## a ## lo4 \ 851 ,const int* const i ## a ## lo5 ) \ 852 ,D_DECL6( const int* const i ## a ## hi0 \ 853 ,const int* const i ## a ## hi1 \ 854 ,const int* const i ## a ## hi2 \ 855 ,const int* const i ## a ## hi3 \ 856 ,const int* const i ## a ## hi4 \ 857 ,const int* const i ## a ## hi5 ) 858 #define CHFp_CONST_FRA( a ) const Real *const a \ 859 ,D_DECL6( const int* const i ## a ## lo0 \ 860 ,const int* const i ## a ## lo1 \ 861 ,const int* const i ## a ## lo2 \ 862 ,const int* const i ## a ## lo3 \ 863 ,const int* const i ## a ## lo4 \ 864 ,const int* const i ## a ## lo5 ) \ 865 ,D_DECL6( const int* const i ## a ## hi0 \ 866 ,const int* const i ## a ## hi1 \ 867 ,const int* const i ## a ## hi2 \ 868 ,const int* const i ## a ## hi3 \ 869 ,const int* const i ## a ## hi4 \ 870 ,const int* const i ## a ## hi5 ) \ 871 ,const int* const n ## a ## comp 872 #define CHFp_CONST_FCA( a ) const Complex *const a \ 873 ,D_DECL6( const int* const i ## a ## lo0 \ 874 ,const int* const i ## a ## lo1 \ 875 ,const int* const i ## a ## lo2 \ 876 ,const int* const i ## a ## lo3 \ 877 ,const int* const i ## a ## lo4 \ 878 ,const int* const i ## a ## lo5 ) \ 879 ,D_DECL6( const int* const i ## a ## hi0 \ 880 ,const int* const i ## a ## hi1 \ 881 ,const int* const i ## a ## hi2 \ 882 ,const int* const i ## a ## hi3 \ 883 ,const int* const i ## a ## hi4 \ 884 ,const int* const i ## a ## hi5 ) \ 885 ,const int* const n ## a ## comp 886 #define CHFp_FIA1( a ) int *const a \ 887 ,D_DECL6( const int* const i ## a ## lo0 \ 888 ,const int* const i ## a ## lo1 \ 889 ,const int* const i ## a ## lo2 \ 890 ,const int* const i ## a ## lo3 \ 891 ,const int* const i ## a ## lo4 \ 892 ,const int* const i ## a ## lo5 ) \ 893 ,D_DECL6( const int* const i ## a ## hi0 \ 894 ,const int* const i ## a ## hi1 \ 895 ,const int* const i ## a ## hi2 \ 896 ,const int* const i ## a ## hi3 \ 897 ,const int* const i ## a ## hi4 \ 898 ,const int* const i ## a ## hi5 ) 899 #define CHFp_FBA1( a ) char *const a \ 900 ,D_DECL6( const int* const i ## a ## lo0 \ 901 ,const int* const i ## a ## lo1 \ 902 ,const int* const i ## a ## lo2 \ 903 ,const int* const i ## a ## lo3 \ 904 ,const int* const i ## a ## lo4 \ 905 ,const int* const i ## a ## lo5 ) \ 906 ,D_DECL6( const int* const i ## a ## hi0 \ 907 ,const int* const i ## a ## hi1 \ 908 ,const int* const i ## a ## hi2 \ 909 ,const int* const i ## a ## hi3 \ 910 ,const int* const i ## a ## hi4 \ 911 ,const int* const i ## a ## hi5 ) 913 #define CHFp_FRA1( a ) Real *const a \ 914 ,D_DECL6( const int* const i ## a ## lo0 \ 915 ,const int* const i ## a ## lo1 \ 916 ,const int* const i ## a ## lo2 \ 917 ,const int* const i ## a ## lo3 \ 918 ,const int* const i ## a ## lo4 \ 919 ,const int* const i ## a ## lo5 ) \ 920 ,D_DECL6( const int* const i ## a ## hi0 \ 921 ,const int* const i ## a ## hi1 \ 922 ,const int* const i ## a ## hi2 \ 923 ,const int* const i ## a ## hi3 \ 924 ,const int* const i ## a ## hi4 \ 925 ,const int* const i ## a ## hi5 ) 926 #define CHFp_FCA1( a ) Complex *const a \ 927 ,D_DECL6( const int* const i ## a ## lo0 \ 928 ,const int* const i ## a ## lo1 \ 929 ,const int* const i ## a ## lo2 \ 930 ,const int* const i ## a ## lo3 \ 931 ,const int* const i ## a ## lo4 \ 932 ,const int* const i ## a ## lo5 ) \ 933 ,D_DECL6( const int* const i ## a ## hi0 \ 934 ,const int* const i ## a ## hi1 \ 935 ,const int* const i ## a ## hi2 \ 936 ,const int* const i ## a ## hi3 \ 937 ,const int* const i ## a ## hi4 \ 938 ,const int* const i ## a ## hi5 ) 939 #define CHFp_CONST_FIA1( a ) const int *const a \ 940 ,D_DECL6( const int* const i ## a ## lo0 \ 941 ,const int* const i ## a ## lo1 \ 942 ,const int* const i ## a ## lo2 \ 943 ,const int* const i ## a ## lo3 \ 944 ,const int* const i ## a ## lo4 \ 945 ,const int* const i ## a ## lo5 ) \ 946 ,D_DECL6( const int* const i ## a ## hi0 \ 947 ,const int* const i ## a ## hi1 \ 948 ,const int* const i ## a ## hi2 \ 949 ,const int* const i ## a ## hi3 \ 950 ,const int* const i ## a ## hi4 \ 951 ,const int* const i ## a ## hi5 ) 952 #define CHFp_CONST_FRA1( a ) const Real *const a \ 953 ,D_DECL6( const int* const i ## a ## lo0 \ 954 ,const int* const i ## a ## lo1 \ 955 ,const int* const i ## a ## lo2 \ 956 ,const int* const i ## a ## lo3 \ 957 ,const int* const i ## a ## lo4 \ 958 ,const int* const i ## a ## lo5 ) \ 959 ,D_DECL6( const int* const i ## a ## hi0 \ 960 ,const int* const i ## a ## hi1 \ 961 ,const int* const i ## a ## hi2 \ 962 ,const int* const i ## a ## hi3 \ 963 ,const int* const i ## a ## hi4 \ 964 ,const int* const i ## a ## hi5 ) 965 #define CHFp_CONST_FCA1( a ) const Complex *const a \ 966 ,D_DECL6( const int* const i ## a ## lo0 \ 967 ,const int* const i ## a ## lo1 \ 968 ,const int* const i ## a ## lo2 \ 969 ,const int* const i ## a ## lo3 \ 970 ,const int* const i ## a ## lo4 \ 971 ,const int* const i ## a ## lo5 ) \ 972 ,D_DECL6( const int* const i ## a ## hi0 \ 973 ,const int* const i ## a ## hi1 \ 974 ,const int* const i ## a ## hi2 \ 975 ,const int* const i ## a ## hi3 \ 976 ,const int* const i ## a ## hi4 \ 977 ,const int* const i ## a ## hi5 ) 981 #define CHFp_ICHARRAY( rank, ia) int* const ia, DIMARGp_X(rank, ia) 982 #define CHFp_CONST_ICHARRAY(rank, ia) const int* const ia, DIMARGp_X(rank, ia) 983 #define CHFp_RCHARRAY( rank, ra) Real* const ra, DIMARGp_X(rank, ra) 984 #define CHFp_CONST_RCHARRAY(rank, ra) const Real* const ra, DIMARGp_X(rank, ra) 985 #define CHFp_CCHARRAY( rank, ra) Complex* const ra, DIMARGp_X(rank, ra) 986 #define CHFp_CONST_CCHARRAY(rank, ra) const Complex* const ra, DIMARGp_X(rank, ra) 988 #define CHFt_INT( i ) i 989 #define CHFt_CONST_INT( i ) i 990 #define CHFt_REAL( r ) r 991 #define CHFt_CONST_REAL( r ) r 992 #define CHFt_COMPLEX( c ) c 993 #define CHFt_CONST_COMPLEX( c ) c 995 #define CHFt_I1D( ia,dimen ) ia, i ## ia ## hi0 996 #define CHFt_CONST_I1D( ia,dimen ) ia, i ## ia ## hi0 997 #define CHFt_R1D( ra,dimen ) ra, i ## ra ## hi0 998 #define CHFt_CONST_R1D( ra,dimen ) ra, i ## ra ## hi0 999 #define CHFt_C1D( ra,dimen ) ra, i ## ra ## hi0 1000 #define CHFt_CONST_C1D( ra,dimen ) ra, i ## ra ## hi0 1002 #define CHFt_CONST_IARRAY(rank, ia, ...) ia, DIMARG ## rank ## t(ia) 1003 #define CHFt_IARRAY( rank, ia, ...) ia, DIMARG ## rank ## t(ia) 1004 #define CHFt_CONST_BARRAY(rank, ia, ...) ia, DIMARG ## rank ## t(ia) 1005 #define CHFt_BARRAY( rank, ia, ...) ia, DIMARG ## rank ## t(ia) 1006 #define CHFt_CONST_RARRAY(rank, ra, ...) ra, DIMARG ## rank ## t(ra) 1007 #define CHFt_RARRAY( rank, ra, ...) ra, DIMARG ## rank ## t(ra) 1008 #define CHFt_CONST_CARRAY(rank, ra, ...) ra, DIMARG ## rank ## t(ra) 1009 #define CHFt_CARRAY( rank, ra, ...) ra, DIMARG ## rank ## t(ra) 1013 #define CHFt_INTVECT( r ) r 1014 #define CHFt_CONST_INTVECT( r ) r 1015 #define CHFt_REALVECT( r ) r 1016 #define CHFt_CONST_REALVECT( r ) r 1017 #define CHFt_COMPLEXVECT( r ) r 1018 #define CHFt_CONST_COMPLEXVECT( r ) r 1019 #define CHFt_VI( v ) v, i ## v ## hi0 1020 #define CHFt_CONST_VI( v ) v, i ## v ## hi0 1021 #define CHFt_VR( v ) v, i ## v ## hi0 1022 #define CHFt_CONST_VR( v ) v, i ## v ## hi0 1023 #define CHFt_VC( v ) v, i ## v ## hi0 1024 #define CHFt_CONST_VC( v ) v, i ## v ## hi0 1026 #define CHFt_BOX( b ) D_DECL6( i ## b ## lo0 \ 1032 ,D_DECL6( i ## b ## hi0 \ 1039 #define CHFt_FIA( a ) a \ 1040 ,D_DECL6( i ## a ## lo0 \ 1046 ,D_DECL6( i ## a ## hi0 \ 1053 #define CHFt_FRA( a ) a \ 1054 ,D_DECL6( i ## a ## lo0 \ 1060 ,D_DECL6( i ## a ## hi0 \ 1067 #define CHFt_FCA( a ) a \ 1068 ,D_DECL6( i ## a ## lo0 \ 1074 ,D_DECL6( i ## a ## hi0 \ 1081 #define CHFt_CONST_FIA( a ) a \ 1082 ,D_DECL6( i ## a ## lo0 \ 1088 ,D_DECL6( i ## a ## hi0 \ 1095 #define CHFt_CONST_FRA( a ) a \ 1096 ,D_DECL6( i ## a ## lo0 \ 1102 ,D_DECL6( i ## a ## hi0 \ 1109 #define CHFt_CONST_FCA( a ) a \ 1110 ,D_DECL6( i ## a ## lo0 \ 1116 ,D_DECL6( i ## a ## hi0 \ 1123 #define CHFt_FIA1( a ) a \ 1124 ,D_DECL6( i ## a ## lo0 \ 1130 ,D_DECL6( i ## a ## hi0 \ 1136 #define CHFt_FRA1( a ) a \ 1137 ,D_DECL6( i ## a ## lo0 \ 1143 ,D_DECL6( i ## a ## hi0 \ 1149 #define CHFt_FCA1( a ) a \ 1150 ,D_DECL6( i ## a ## lo0 \ 1156 ,D_DECL6( i ## a ## hi0 \ 1162 #define CHFt_CONST_FIA1( a ) a \ 1163 ,D_DECL6( i ## a ## lo0 \ 1169 ,D_DECL6( i ## a ## hi0 \ 1175 #define CHFt_CONST_FBA1( a ) a \ 1176 ,D_DECL6( i ## a ## lo0 \ 1182 ,D_DECL6( i ## a ## hi0 \ 1188 #define CHFt_CONST_FRA1( a ) a \ 1189 ,D_DECL6( i ## a ## lo0 \ 1195 ,D_DECL6( i ## a ## hi0 \ 1201 #define CHFt_CONST_FCA1( a ) a \ 1202 ,D_DECL6( i ## a ## lo0 \ 1208 ,D_DECL6( i ## a ## hi0 \ 1217 #define CHFt_CONST_ICHARRAY(rank, ia) ia, DIMARGt_X(rank, ia) 1218 #define CHFt_ICHARRAY( rank, ia) ia, DIMARGt_X(rank, ia) 1219 #define CHFt_CONST_RCHARRAY(rank, ra) ra, DIMARGt_X(rank, ra) 1220 #define CHFt_RCHARRAY( rank, ra) ra, DIMARGt_X(rank, ra) 1221 #define CHFt_CONST_CCHARRAY(rank, ra) ra, DIMARGt_X(rank, ra) 1222 #define CHFt_CCHARRAY( rank, ra) ra, DIMARGt_X(rank, ra)