Advanced Multi-Physics (AMP)
On-Line Documentation
MacroFunctions.h
Go to the documentation of this file.
1#ifndef AMP_MacroFunctions
2#define AMP_MacroFunctions
3// clang-format off
4
5// Macros to print a sequence: 1 2 3 4 ... N
6#define AMP_NULL()
7#define AMP_SEQ_U_1(F,S) F(1)
8#define AMP_SEQ_U_2(F,S) AMP_SEQ_U_1(F,S) S() F(2)
9#define AMP_SEQ_U_3(F,S) AMP_SEQ_U_2(F,S) S() F(3)
10#define AMP_SEQ_U_4(F,S) AMP_SEQ_U_3(F,S) S() F(4)
11#define AMP_SEQ_U_5(F,S) AMP_SEQ_U_4(F,S) S() F(5)
12#define AMP_SEQ_U_6(F,S) AMP_SEQ_U_5(F,S) S() F(6)
13#define AMP_SEQ_U_7(F,S) AMP_SEQ_U_6(F,S) S() F(7)
14#define AMP_SEQ_U_8(F,S) AMP_SEQ_U_7(F,S) S() F(8)
15#define AMP_SEQ_U_9(F,S) AMP_SEQ_U_8(F,S) S() F(9)
16#define AMP_SEQ_U_10(F,S) AMP_SEQ_U_9(F,S) S() F(10)
17#define AMP_SEQ_U_11(F,S) AMP_SEQ_U_10(F,S) S() F(11)
18#define AMP_SEQ_U_12(F,S) AMP_SEQ_U_11(F,S) S() F(12)
19#define AMP_SEQ_U_13(F,S) AMP_SEQ_U_12(F,S) S() F(13)
20#define AMP_SEQ_U_14(F,S) AMP_SEQ_U_13(F,S) S() F(14)
21#define AMP_SEQ_U_15(F,S) AMP_SEQ_U_14(F,S) S() F(15)
22#define AMP_SEQ_U_16(F,S) AMP_SEQ_U_15(F,S) S() F(16)
23#define AMP_SEQ_U_17(F,S) AMP_SEQ_U_16(F,S) S() F(17)
24#define AMP_SEQ_U_18(F,S) AMP_SEQ_U_17(F,S) S() F(18)
25#define AMP_SEQ_U_19(F,S) AMP_SEQ_U_18(F,S) S() F(19)
26#define AMP_SEQ_U_20(F,S) AMP_SEQ_U_19(F,S) S() F(20)
27#define AMP_SEQ_U_21(F,S) AMP_SEQ_U_20(F,S) S() F(21)
28#define AMP_SEQ_U_22(F,S) AMP_SEQ_U_21(F,S) S() F(22)
29#define AMP_SEQ_U_23(F,S) AMP_SEQ_U_22(F,S) S() F(23)
30#define AMP_SEQ_U_24(F,S) AMP_SEQ_U_23(F,S) S() F(24)
31#define AMP_SEQ_U_25(F,S) AMP_SEQ_U_24(F,S) S() F(25)
32#define AMP_SEQ_U_26(F,S) AMP_SEQ_U_25(F,S) S() F(26)
33#define AMP_SEQ_U_27(F,S) AMP_SEQ_U_26(F,S) S() F(27)
34#define AMP_SEQ_U_28(F,S) AMP_SEQ_U_27(F,S) S() F(28)
35#define AMP_SEQ_U_29(F,S) AMP_SEQ_U_28(F,S) S() F(29)
36#define AMP_SEQ_U_30(F,S) AMP_SEQ_U_29(F,S) S() F(30)
37#define AMP_SEQ_U_31(F,S) AMP_SEQ_U_30(F,S) S() F(31)
38#define AMP_SEQ_U_32(F,S) AMP_SEQ_U_31(F,S) S() F(32)
39#define AMP_SEQ_U_33(F,S) AMP_SEQ_U_32(F,S) S() F(33)
40#define AMP_SEQ_U_34(F,S) AMP_SEQ_U_33(F,S) S() F(34)
41#define AMP_SEQ_U_35(F,S) AMP_SEQ_U_34(F,S) S() F(35)
42#define AMP_SEQ_U_36(F,S) AMP_SEQ_U_35(F,S) S() F(36)
43#define AMP_SEQ_U_37(F,S) AMP_SEQ_U_36(F,S) S() F(37)
44#define AMP_SEQ_U_38(F,S) AMP_SEQ_U_37(F,S) S() F(38)
45#define AMP_SEQ_U_39(F,S) AMP_SEQ_U_38(F,S) S() F(39)
46#define AMP_SEQ_U_40(F,S) AMP_SEQ_U_39(F,S) S() F(40)
47#define AMP_SEQ_U_41(F,S) AMP_SEQ_U_40(F,S) S() F(41)
48#define AMP_SEQ_U_42(F,S) AMP_SEQ_U_41(F,S) S() F(42)
49#define AMP_SEQ_U_43(F,S) AMP_SEQ_U_42(F,S) S() F(43)
50#define AMP_SEQ_U_44(F,S) AMP_SEQ_U_43(F,S) S() F(44)
51#define AMP_SEQ_U_45(F,S) AMP_SEQ_U_44(F,S) S() F(45)
52#define AMP_SEQ_U_46(F,S) AMP_SEQ_U_45(F,S) S() F(46)
53#define AMP_SEQ_U_47(F,S) AMP_SEQ_U_46(F,S) S() F(47)
54#define AMP_SEQ_U_48(F,S) AMP_SEQ_U_47(F,S) S() F(48)
55#define AMP_SEQ_U_49(F,S) AMP_SEQ_U_48(F,S) S() F(49)
56#define AMP_SEQ_U_50(F,S) AMP_SEQ_U_49(F,S) S() F(50)
57#define AMP_SEQ_U_51(F,S) AMP_SEQ_U_50(F,S) S() F(51)
58#define AMP_SEQ_U_52(F,S) AMP_SEQ_U_51(F,S) S() F(52)
59#define AMP_SEQ_U_53(F,S) AMP_SEQ_U_52(F,S) S() F(53)
60#define AMP_SEQ_U_54(F,S) AMP_SEQ_U_53(F,S) S() F(54)
61#define AMP_SEQ_U_55(F,S) AMP_SEQ_U_54(F,S) S() F(55)
62#define AMP_SEQ_U_56(F,S) AMP_SEQ_U_55(F,S) S() F(56)
63#define AMP_SEQ_U_57(F,S) AMP_SEQ_U_56(F,S) S() F(57)
64#define AMP_SEQ_U_58(F,S) AMP_SEQ_U_57(F,S) S() F(58)
65#define AMP_SEQ_U_59(F,S) AMP_SEQ_U_58(F,S) S() F(59)
66#define AMP_SEQ_U_60(F,S) AMP_SEQ_U_59(F,S) S() F(60)
67#define AMP_SEQ_U_61(F,S) AMP_SEQ_U_60(F,S) S() F(61)
68#define AMP_SEQ_U_62(F,S) AMP_SEQ_U_61(F,S) S() F(62)
69#define AMP_SEQ_U_63(F,S) AMP_SEQ_U_62(F,S) S() F(63)
70#define AMP_SEQ_U_64(F,S) AMP_SEQ_U_63(F,S) S() F(64)
71#define AMP_SEQ_U(N,F,S) AMP_SEQ_U_##N(F,S)
72
73// Macros to print a sequence: N ... 4 3 2 1
74#define AMP_NULL()
75#define AMP_SEQ_D_1(F,S) F(1)
76#define AMP_SEQ_D_2(F,S) F(2) S() AMP_SEQ_D_1(F,S)
77#define AMP_SEQ_D_3(F,S) F(3) S() AMP_SEQ_D_2(F,S)
78#define AMP_SEQ_D_4(F,S) F(4) S() AMP_SEQ_D_3(F,S)
79#define AMP_SEQ_D_5(F,S) F(5) S() AMP_SEQ_D_4(F,S)
80#define AMP_SEQ_D_6(F,S) F(6) S() AMP_SEQ_D_5(F,S)
81#define AMP_SEQ_D_7(F,S) F(7) S() AMP_SEQ_D_6(F,S)
82#define AMP_SEQ_D_8(F,S) F(8) S() AMP_SEQ_D_7(F,S)
83#define AMP_SEQ_D_9(F,S) F(9) S() AMP_SEQ_D_8(F,S)
84#define AMP_SEQ_D_10(F,S) F(10) S() AMP_SEQ_D_9(F,S)
85#define AMP_SEQ_D_11(F,S) F(11) S() AMP_SEQ_D_10(F,S)
86#define AMP_SEQ_D_12(F,S) F(12) S() AMP_SEQ_D_11(F,S)
87#define AMP_SEQ_D_13(F,S) F(13) S() AMP_SEQ_D_12(F,S)
88#define AMP_SEQ_D_14(F,S) F(14) S() AMP_SEQ_D_13(F,S)
89#define AMP_SEQ_D_15(F,S) F(15) S() AMP_SEQ_D_14(F,S)
90#define AMP_SEQ_D_16(F,S) F(16) S() AMP_SEQ_D_15(F,S)
91#define AMP_SEQ_D_17(F,S) F(17) S() AMP_SEQ_D_16(F,S)
92#define AMP_SEQ_D_18(F,S) F(18) S() AMP_SEQ_D_17(F,S)
93#define AMP_SEQ_D_19(F,S) F(19) S() AMP_SEQ_D_18(F,S)
94#define AMP_SEQ_D_20(F,S) F(20) S() AMP_SEQ_D_19(F,S)
95#define AMP_SEQ_D_21(F,S) F(21) S() AMP_SEQ_D_20(F,S)
96#define AMP_SEQ_D_22(F,S) F(22) S() AMP_SEQ_D_21(F,S)
97#define AMP_SEQ_D_23(F,S) F(23) S() AMP_SEQ_D_22(F,S)
98#define AMP_SEQ_D_24(F,S) F(24) S() AMP_SEQ_D_23(F,S)
99#define AMP_SEQ_D_25(F,S) F(25) S() AMP_SEQ_D_24(F,S)
100#define AMP_SEQ_D_26(F,S) F(26) S() AMP_SEQ_D_25(F,S)
101#define AMP_SEQ_D_27(F,S) F(27) S() AMP_SEQ_D_26(F,S)
102#define AMP_SEQ_D_28(F,S) F(28) S() AMP_SEQ_D_27(F,S)
103#define AMP_SEQ_D_29(F,S) F(29) S() AMP_SEQ_D_28(F,S)
104#define AMP_SEQ_D_30(F,S) F(30) S() AMP_SEQ_D_29(F,S)
105#define AMP_SEQ_D_31(F,S) F(31) S() AMP_SEQ_D_30(F,S)
106#define AMP_SEQ_D_32(F,S) F(32) S() AMP_SEQ_D_31(F,S)
107#define AMP_SEQ_D_33(F,S) F(33) S() AMP_SEQ_D_32(F,S)
108#define AMP_SEQ_D_34(F,S) F(34) S() AMP_SEQ_D_33(F,S)
109#define AMP_SEQ_D_35(F,S) F(35) S() AMP_SEQ_D_34(F,S)
110#define AMP_SEQ_D_36(F,S) F(36) S() AMP_SEQ_D_35(F,S)
111#define AMP_SEQ_D_37(F,S) F(37) S() AMP_SEQ_D_36(F,S)
112#define AMP_SEQ_D_38(F,S) F(38) S() AMP_SEQ_D_37(F,S)
113#define AMP_SEQ_D_39(F,S) F(39) S() AMP_SEQ_D_38(F,S)
114#define AMP_SEQ_D_40(F,S) F(40) S() AMP_SEQ_D_39(F,S)
115#define AMP_SEQ_D_41(F,S) F(41) S() AMP_SEQ_D_40(F,S)
116#define AMP_SEQ_D_42(F,S) F(42) S() AMP_SEQ_D_41(F,S)
117#define AMP_SEQ_D_43(F,S) F(43) S() AMP_SEQ_D_42(F,S)
118#define AMP_SEQ_D_44(F,S) F(44) S() AMP_SEQ_D_43(F,S)
119#define AMP_SEQ_D_45(F,S) F(45) S() AMP_SEQ_D_44(F,S)
120#define AMP_SEQ_D_46(F,S) F(46) S() AMP_SEQ_D_45(F,S)
121#define AMP_SEQ_D_47(F,S) F(47) S() AMP_SEQ_D_46(F,S)
122#define AMP_SEQ_D_48(F,S) F(48) S() AMP_SEQ_D_47(F,S)
123#define AMP_SEQ_D_49(F,S) F(49) S() AMP_SEQ_D_48(F,S)
124#define AMP_SEQ_D_50(F,S) F(50) S() AMP_SEQ_D_49(F,S)
125#define AMP_SEQ_D_51(F,S) F(51) S() AMP_SEQ_D_50(F,S)
126#define AMP_SEQ_D_52(F,S) F(52) S() AMP_SEQ_D_51(F,S)
127#define AMP_SEQ_D_53(F,S) F(53) S() AMP_SEQ_D_52(F,S)
128#define AMP_SEQ_D_54(F,S) F(54) S() AMP_SEQ_D_53(F,S)
129#define AMP_SEQ_D_55(F,S) F(55) S() AMP_SEQ_D_54(F,S)
130#define AMP_SEQ_D_56(F,S) F(56) S() AMP_SEQ_D_55(F,S)
131#define AMP_SEQ_D_57(F,S) F(57) S() AMP_SEQ_D_56(F,S)
132#define AMP_SEQ_D_58(F,S) F(58) S() AMP_SEQ_D_57(F,S)
133#define AMP_SEQ_D_59(F,S) F(59) S() AMP_SEQ_D_58(F,S)
134#define AMP_SEQ_D_60(F,S) F(60) S() AMP_SEQ_D_59(F,S)
135#define AMP_SEQ_D_61(F,S) F(61) S() AMP_SEQ_D_60(F,S)
136#define AMP_SEQ_D_62(F,S) F(62) S() AMP_SEQ_D_61(F,S)
137#define AMP_SEQ_D_63(F,S) F(63) S() AMP_SEQ_D_62(F,S)
138#define AMP_SEQ_D_64(F,S) F(64) S() AMP_SEQ_D_63(F,S)
139#define AMP_SEQ_D(N,F,S) AMP_SEQ_D_##N(F,S)
140
141// clang-format on
142#endif



Advanced Multi-Physics (AMP)
Oak Ridge National Laboratory
Idaho National Laboratory
Los Alamos National Laboratory
This page automatically produced from the
source code by doxygen
Last updated: Tue Mar 10 2026 13:06:41.
Comments on this page