1 #ifndef BZ_RANKS_H
2 #define BZ_RANKS_H
3 
4 namespace blitz {
5 
6 /*
7  * Rank numbers start with zero, which may be confusing to users coming
8  * from Fortran.  To make code more readable, the following constants
9  * may help.  Example: instead of
10  *
11  * int firstRankExtent = A.extent(0);
12  *
13  * One can write:
14  *
15  * int firstRankExtent = A.extent(firstRank);
16  */
17 
18 const int firstRank    = 0;
19 const int secondRank   = 1;
20 const int thirdRank    = 2;
21 const int fourthRank   = 3;
22 const int fifthRank    = 4;
23 const int sixthRank    = 5;
24 const int seventhRank  = 6;
25 const int eighthRank   = 7;
26 const int ninthRank    = 8;
27 const int tenthRank    = 9;
28 const int eleventhRank = 10;
29 
30 const int firstDim    = 0;
31 const int secondDim   = 1;
32 const int thirdDim    = 2;
33 const int fourthDim   = 3;
34 const int fifthDim    = 4;
35 const int sixthDim    = 5;
36 const int seventhDim  = 6;
37 const int eighthDim   = 7;
38 const int ninthDim    = 8;
39 const int tenthDim    = 9;
40 const int eleventhDim = 10;
41 
42 }
43 
44 #endif
45