3 #define CONCAT(a,b) PASTE(a)b
5 #define PASTE(a) a ## b
6 #define CONCAT(a,b) PASTE(a,b)
10 #define DTIMES(TXT) TXT
11 #define DINDEX(TXT) TXT(1)
12 #define DSLICE(lo,hi) lo(1):hi(1)
13 #define KJI_DO(lo,hi) i = lo, hi
16 #define IJK_(s) CONCAT(i_,s)
19 #define DTIMES(TXT) TXT, TXT
20 #define DINDEX(TXT) TXT(1), TXT(2)
21 #define DSLICE(lo,hi) lo(1):hi(1), lo(2):hi(2)
22 #define KJI_DO(lo,hi) j = lo, hi; do i = lo, hi
23 #define CLOSE_DO end do
25 #define IJK_(s) CONCAT(i_,s), CONCAT(j_,s)
28 #define DTIMES(TXT) TXT, TXT, TXT
29 #define DINDEX(TXT) TXT(1), TXT(2), TXT(3)
30 #define DSLICE(lo,hi) lo(1):hi(1), lo(2):hi(2), lo(3):hi(3)
31 #define KJI_DO(lo,hi) k = lo, hi; do j = lo, hi; do i = lo, hi
32 #define CLOSE_DO end do; end do
34 #define IJK_(s) CONCAT(i_,s), CONCAT(j_,s), CONCAT(k_,s)