xref: /aosp_15_r20/external/emboss/runtime/cpp/emboss_arithmetic_maximum_operation_generated.h (revision 99e0aae7469b87d12f0ad23e61142c2d74c1ef70)
1 // Copyright 2020 Google LLC
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 //     https://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 // GENERATED CODE.  DO NOT EDIT.  REGENERATE WITH
16 // runtime/cpp/generators/maximum_operation_do.py
17 
18   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4)19   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4) {
20     return Do(Do(v0, v1), Do(v2, v3, v4));
21   }
22 
23   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5)24   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5) {
25     return Do(Do(v0, v1, v2), Do(v3, v4, v5));
26   }
27 
28   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6)29   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6) {
30     return Do(Do(v0, v1, v2), Do(v3, v4, v5, v6));
31   }
32 
33   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7)34   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7) {
35     return Do(Do(v0, v1, v2, v3), Do(v4, v5, v6, v7));
36   }
37 
38   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8)39   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8) {
40     return Do(Do(v0, v1, v2, v3), Do(v4, v5, v6, v7, v8));
41   }
42 
43   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9)44   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9) {
45     return Do(Do(v0, v1, v2, v3, v4), Do(v5, v6, v7, v8, v9));
46   }
47 
48   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10)49   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10) {
50     return Do(Do(v0, v1, v2, v3, v4), Do(v5, v6, v7, v8, v9, v10));
51   }
52 
53   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11)54   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11) {
55     return Do(Do(v0, v1, v2, v3, v4, v5), Do(v6, v7, v8, v9, v10, v11));
56   }
57 
58   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12)59   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12) {
60     return Do(Do(v0, v1, v2, v3, v4, v5), Do(v6, v7, v8, v9, v10, v11, v12));
61   }
62 
63   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13)64   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13) {
65     return Do(Do(v0, v1, v2, v3, v4, v5, v6), Do(v7, v8, v9, v10, v11, v12, v13));
66   }
67 
68   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14)69   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14) {
70     return Do(Do(v0, v1, v2, v3, v4, v5, v6), Do(v7, v8, v9, v10, v11, v12, v13, v14));
71   }
72 
73   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15)74   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15) {
75     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7), Do(v8, v9, v10, v11, v12, v13, v14, v15));
76   }
77 
78   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16)79   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16) {
80     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7), Do(v8, v9, v10, v11, v12, v13, v14, v15, v16));
81   }
82 
83   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17)84   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17) {
85     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8), Do(v9, v10, v11, v12, v13, v14, v15, v16, v17));
86   }
87 
88   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18)89   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18) {
90     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8), Do(v9, v10, v11, v12, v13, v14, v15, v16, v17, v18));
91   }
92 
93   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19)94   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19) {
95     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9), Do(v10, v11, v12, v13, v14, v15, v16, v17, v18, v19));
96   }
97 
98   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19,T v20)99   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19, T v20) {
100     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9), Do(v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20));
101   }
102 
103   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19,T v20,T v21)104   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19, T v20, T v21) {
105     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10), Do(v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21));
106   }
107 
108   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19,T v20,T v21,T v22)109   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19, T v20, T v21, T v22) {
110     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10), Do(v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22));
111   }
112 
113   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19,T v20,T v21,T v22,T v23)114   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19, T v20, T v21, T v22, T v23) {
115     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11), Do(v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23));
116   }
117 
118   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19,T v20,T v21,T v22,T v23,T v24)119   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19, T v20, T v21, T v22, T v23, T v24) {
120     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11), Do(v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24));
121   }
122 
123   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19,T v20,T v21,T v22,T v23,T v24,T v25)124   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19, T v20, T v21, T v22, T v23, T v24, T v25) {
125     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12), Do(v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25));
126   }
127 
128   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19,T v20,T v21,T v22,T v23,T v24,T v25,T v26)129   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19, T v20, T v21, T v22, T v23, T v24, T v25, T v26) {
130     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12), Do(v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26));
131   }
132 
133   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19,T v20,T v21,T v22,T v23,T v24,T v25,T v26,T v27)134   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19, T v20, T v21, T v22, T v23, T v24, T v25, T v26, T v27) {
135     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13), Do(v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27));
136   }
137 
138   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19,T v20,T v21,T v22,T v23,T v24,T v25,T v26,T v27,T v28)139   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19, T v20, T v21, T v22, T v23, T v24, T v25, T v26, T v27, T v28) {
140     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13), Do(v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28));
141   }
142 
143   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19,T v20,T v21,T v22,T v23,T v24,T v25,T v26,T v27,T v28,T v29)144   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19, T v20, T v21, T v22, T v23, T v24, T v25, T v26, T v27, T v28, T v29) {
145     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14), Do(v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29));
146   }
147 
148   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19,T v20,T v21,T v22,T v23,T v24,T v25,T v26,T v27,T v28,T v29,T v30)149   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19, T v20, T v21, T v22, T v23, T v24, T v25, T v26, T v27, T v28, T v29, T v30) {
150     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14), Do(v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30));
151   }
152 
153   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19,T v20,T v21,T v22,T v23,T v24,T v25,T v26,T v27,T v28,T v29,T v30,T v31)154   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19, T v20, T v21, T v22, T v23, T v24, T v25, T v26, T v27, T v28, T v29, T v30, T v31) {
155     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15), Do(v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31));
156   }
157 
158   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19,T v20,T v21,T v22,T v23,T v24,T v25,T v26,T v27,T v28,T v29,T v30,T v31,T v32)159   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19, T v20, T v21, T v22, T v23, T v24, T v25, T v26, T v27, T v28, T v29, T v30, T v31, T v32) {
160     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15), Do(v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32));
161   }
162 
163   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19,T v20,T v21,T v22,T v23,T v24,T v25,T v26,T v27,T v28,T v29,T v30,T v31,T v32,T v33)164   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19, T v20, T v21, T v22, T v23, T v24, T v25, T v26, T v27, T v28, T v29, T v30, T v31, T v32, T v33) {
165     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16), Do(v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33));
166   }
167 
168   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19,T v20,T v21,T v22,T v23,T v24,T v25,T v26,T v27,T v28,T v29,T v30,T v31,T v32,T v33,T v34)169   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19, T v20, T v21, T v22, T v23, T v24, T v25, T v26, T v27, T v28, T v29, T v30, T v31, T v32, T v33, T v34) {
170     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16), Do(v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34));
171   }
172 
173   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19,T v20,T v21,T v22,T v23,T v24,T v25,T v26,T v27,T v28,T v29,T v30,T v31,T v32,T v33,T v34,T v35)174   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19, T v20, T v21, T v22, T v23, T v24, T v25, T v26, T v27, T v28, T v29, T v30, T v31, T v32, T v33, T v34, T v35) {
175     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17), Do(v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35));
176   }
177 
178   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19,T v20,T v21,T v22,T v23,T v24,T v25,T v26,T v27,T v28,T v29,T v30,T v31,T v32,T v33,T v34,T v35,T v36)179   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19, T v20, T v21, T v22, T v23, T v24, T v25, T v26, T v27, T v28, T v29, T v30, T v31, T v32, T v33, T v34, T v35, T v36) {
180     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17), Do(v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36));
181   }
182 
183   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19,T v20,T v21,T v22,T v23,T v24,T v25,T v26,T v27,T v28,T v29,T v30,T v31,T v32,T v33,T v34,T v35,T v36,T v37)184   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19, T v20, T v21, T v22, T v23, T v24, T v25, T v26, T v27, T v28, T v29, T v30, T v31, T v32, T v33, T v34, T v35, T v36, T v37) {
185     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18), Do(v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37));
186   }
187 
188   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19,T v20,T v21,T v22,T v23,T v24,T v25,T v26,T v27,T v28,T v29,T v30,T v31,T v32,T v33,T v34,T v35,T v36,T v37,T v38)189   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19, T v20, T v21, T v22, T v23, T v24, T v25, T v26, T v27, T v28, T v29, T v30, T v31, T v32, T v33, T v34, T v35, T v36, T v37, T v38) {
190     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18), Do(v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38));
191   }
192 
193   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19,T v20,T v21,T v22,T v23,T v24,T v25,T v26,T v27,T v28,T v29,T v30,T v31,T v32,T v33,T v34,T v35,T v36,T v37,T v38,T v39)194   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19, T v20, T v21, T v22, T v23, T v24, T v25, T v26, T v27, T v28, T v29, T v30, T v31, T v32, T v33, T v34, T v35, T v36, T v37, T v38, T v39) {
195     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19), Do(v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39));
196   }
197 
198   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19,T v20,T v21,T v22,T v23,T v24,T v25,T v26,T v27,T v28,T v29,T v30,T v31,T v32,T v33,T v34,T v35,T v36,T v37,T v38,T v39,T v40)199   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19, T v20, T v21, T v22, T v23, T v24, T v25, T v26, T v27, T v28, T v29, T v30, T v31, T v32, T v33, T v34, T v35, T v36, T v37, T v38, T v39, T v40) {
200     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19), Do(v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40));
201   }
202 
203   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19,T v20,T v21,T v22,T v23,T v24,T v25,T v26,T v27,T v28,T v29,T v30,T v31,T v32,T v33,T v34,T v35,T v36,T v37,T v38,T v39,T v40,T v41)204   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19, T v20, T v21, T v22, T v23, T v24, T v25, T v26, T v27, T v28, T v29, T v30, T v31, T v32, T v33, T v34, T v35, T v36, T v37, T v38, T v39, T v40, T v41) {
205     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20), Do(v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41));
206   }
207 
208   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19,T v20,T v21,T v22,T v23,T v24,T v25,T v26,T v27,T v28,T v29,T v30,T v31,T v32,T v33,T v34,T v35,T v36,T v37,T v38,T v39,T v40,T v41,T v42)209   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19, T v20, T v21, T v22, T v23, T v24, T v25, T v26, T v27, T v28, T v29, T v30, T v31, T v32, T v33, T v34, T v35, T v36, T v37, T v38, T v39, T v40, T v41, T v42) {
210     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20), Do(v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42));
211   }
212 
213   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19,T v20,T v21,T v22,T v23,T v24,T v25,T v26,T v27,T v28,T v29,T v30,T v31,T v32,T v33,T v34,T v35,T v36,T v37,T v38,T v39,T v40,T v41,T v42,T v43)214   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19, T v20, T v21, T v22, T v23, T v24, T v25, T v26, T v27, T v28, T v29, T v30, T v31, T v32, T v33, T v34, T v35, T v36, T v37, T v38, T v39, T v40, T v41, T v42, T v43) {
215     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21), Do(v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43));
216   }
217 
218   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19,T v20,T v21,T v22,T v23,T v24,T v25,T v26,T v27,T v28,T v29,T v30,T v31,T v32,T v33,T v34,T v35,T v36,T v37,T v38,T v39,T v40,T v41,T v42,T v43,T v44)219   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19, T v20, T v21, T v22, T v23, T v24, T v25, T v26, T v27, T v28, T v29, T v30, T v31, T v32, T v33, T v34, T v35, T v36, T v37, T v38, T v39, T v40, T v41, T v42, T v43, T v44) {
220     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21), Do(v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44));
221   }
222 
223   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19,T v20,T v21,T v22,T v23,T v24,T v25,T v26,T v27,T v28,T v29,T v30,T v31,T v32,T v33,T v34,T v35,T v36,T v37,T v38,T v39,T v40,T v41,T v42,T v43,T v44,T v45)224   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19, T v20, T v21, T v22, T v23, T v24, T v25, T v26, T v27, T v28, T v29, T v30, T v31, T v32, T v33, T v34, T v35, T v36, T v37, T v38, T v39, T v40, T v41, T v42, T v43, T v44, T v45) {
225     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22), Do(v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45));
226   }
227 
228   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19,T v20,T v21,T v22,T v23,T v24,T v25,T v26,T v27,T v28,T v29,T v30,T v31,T v32,T v33,T v34,T v35,T v36,T v37,T v38,T v39,T v40,T v41,T v42,T v43,T v44,T v45,T v46)229   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19, T v20, T v21, T v22, T v23, T v24, T v25, T v26, T v27, T v28, T v29, T v30, T v31, T v32, T v33, T v34, T v35, T v36, T v37, T v38, T v39, T v40, T v41, T v42, T v43, T v44, T v45, T v46) {
230     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22), Do(v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46));
231   }
232 
233   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19,T v20,T v21,T v22,T v23,T v24,T v25,T v26,T v27,T v28,T v29,T v30,T v31,T v32,T v33,T v34,T v35,T v36,T v37,T v38,T v39,T v40,T v41,T v42,T v43,T v44,T v45,T v46,T v47)234   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19, T v20, T v21, T v22, T v23, T v24, T v25, T v26, T v27, T v28, T v29, T v30, T v31, T v32, T v33, T v34, T v35, T v36, T v37, T v38, T v39, T v40, T v41, T v42, T v43, T v44, T v45, T v46, T v47) {
235     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23), Do(v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47));
236   }
237 
238   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19,T v20,T v21,T v22,T v23,T v24,T v25,T v26,T v27,T v28,T v29,T v30,T v31,T v32,T v33,T v34,T v35,T v36,T v37,T v38,T v39,T v40,T v41,T v42,T v43,T v44,T v45,T v46,T v47,T v48)239   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19, T v20, T v21, T v22, T v23, T v24, T v25, T v26, T v27, T v28, T v29, T v30, T v31, T v32, T v33, T v34, T v35, T v36, T v37, T v38, T v39, T v40, T v41, T v42, T v43, T v44, T v45, T v46, T v47, T v48) {
240     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23), Do(v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48));
241   }
242 
243   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19,T v20,T v21,T v22,T v23,T v24,T v25,T v26,T v27,T v28,T v29,T v30,T v31,T v32,T v33,T v34,T v35,T v36,T v37,T v38,T v39,T v40,T v41,T v42,T v43,T v44,T v45,T v46,T v47,T v48,T v49)244   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19, T v20, T v21, T v22, T v23, T v24, T v25, T v26, T v27, T v28, T v29, T v30, T v31, T v32, T v33, T v34, T v35, T v36, T v37, T v38, T v39, T v40, T v41, T v42, T v43, T v44, T v45, T v46, T v47, T v48, T v49) {
245     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24), Do(v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49));
246   }
247 
248   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19,T v20,T v21,T v22,T v23,T v24,T v25,T v26,T v27,T v28,T v29,T v30,T v31,T v32,T v33,T v34,T v35,T v36,T v37,T v38,T v39,T v40,T v41,T v42,T v43,T v44,T v45,T v46,T v47,T v48,T v49,T v50)249   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19, T v20, T v21, T v22, T v23, T v24, T v25, T v26, T v27, T v28, T v29, T v30, T v31, T v32, T v33, T v34, T v35, T v36, T v37, T v38, T v39, T v40, T v41, T v42, T v43, T v44, T v45, T v46, T v47, T v48, T v49, T v50) {
250     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24), Do(v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50));
251   }
252 
253   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19,T v20,T v21,T v22,T v23,T v24,T v25,T v26,T v27,T v28,T v29,T v30,T v31,T v32,T v33,T v34,T v35,T v36,T v37,T v38,T v39,T v40,T v41,T v42,T v43,T v44,T v45,T v46,T v47,T v48,T v49,T v50,T v51)254   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19, T v20, T v21, T v22, T v23, T v24, T v25, T v26, T v27, T v28, T v29, T v30, T v31, T v32, T v33, T v34, T v35, T v36, T v37, T v38, T v39, T v40, T v41, T v42, T v43, T v44, T v45, T v46, T v47, T v48, T v49, T v50, T v51) {
255     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25), Do(v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51));
256   }
257 
258   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19,T v20,T v21,T v22,T v23,T v24,T v25,T v26,T v27,T v28,T v29,T v30,T v31,T v32,T v33,T v34,T v35,T v36,T v37,T v38,T v39,T v40,T v41,T v42,T v43,T v44,T v45,T v46,T v47,T v48,T v49,T v50,T v51,T v52)259   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19, T v20, T v21, T v22, T v23, T v24, T v25, T v26, T v27, T v28, T v29, T v30, T v31, T v32, T v33, T v34, T v35, T v36, T v37, T v38, T v39, T v40, T v41, T v42, T v43, T v44, T v45, T v46, T v47, T v48, T v49, T v50, T v51, T v52) {
260     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25), Do(v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52));
261   }
262 
263   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19,T v20,T v21,T v22,T v23,T v24,T v25,T v26,T v27,T v28,T v29,T v30,T v31,T v32,T v33,T v34,T v35,T v36,T v37,T v38,T v39,T v40,T v41,T v42,T v43,T v44,T v45,T v46,T v47,T v48,T v49,T v50,T v51,T v52,T v53)264   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19, T v20, T v21, T v22, T v23, T v24, T v25, T v26, T v27, T v28, T v29, T v30, T v31, T v32, T v33, T v34, T v35, T v36, T v37, T v38, T v39, T v40, T v41, T v42, T v43, T v44, T v45, T v46, T v47, T v48, T v49, T v50, T v51, T v52, T v53) {
265     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26), Do(v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53));
266   }
267 
268   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19,T v20,T v21,T v22,T v23,T v24,T v25,T v26,T v27,T v28,T v29,T v30,T v31,T v32,T v33,T v34,T v35,T v36,T v37,T v38,T v39,T v40,T v41,T v42,T v43,T v44,T v45,T v46,T v47,T v48,T v49,T v50,T v51,T v52,T v53,T v54)269   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19, T v20, T v21, T v22, T v23, T v24, T v25, T v26, T v27, T v28, T v29, T v30, T v31, T v32, T v33, T v34, T v35, T v36, T v37, T v38, T v39, T v40, T v41, T v42, T v43, T v44, T v45, T v46, T v47, T v48, T v49, T v50, T v51, T v52, T v53, T v54) {
270     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26), Do(v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54));
271   }
272 
273   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19,T v20,T v21,T v22,T v23,T v24,T v25,T v26,T v27,T v28,T v29,T v30,T v31,T v32,T v33,T v34,T v35,T v36,T v37,T v38,T v39,T v40,T v41,T v42,T v43,T v44,T v45,T v46,T v47,T v48,T v49,T v50,T v51,T v52,T v53,T v54,T v55)274   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19, T v20, T v21, T v22, T v23, T v24, T v25, T v26, T v27, T v28, T v29, T v30, T v31, T v32, T v33, T v34, T v35, T v36, T v37, T v38, T v39, T v40, T v41, T v42, T v43, T v44, T v45, T v46, T v47, T v48, T v49, T v50, T v51, T v52, T v53, T v54, T v55) {
275     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27), Do(v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55));
276   }
277 
278   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19,T v20,T v21,T v22,T v23,T v24,T v25,T v26,T v27,T v28,T v29,T v30,T v31,T v32,T v33,T v34,T v35,T v36,T v37,T v38,T v39,T v40,T v41,T v42,T v43,T v44,T v45,T v46,T v47,T v48,T v49,T v50,T v51,T v52,T v53,T v54,T v55,T v56)279   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19, T v20, T v21, T v22, T v23, T v24, T v25, T v26, T v27, T v28, T v29, T v30, T v31, T v32, T v33, T v34, T v35, T v36, T v37, T v38, T v39, T v40, T v41, T v42, T v43, T v44, T v45, T v46, T v47, T v48, T v49, T v50, T v51, T v52, T v53, T v54, T v55, T v56) {
280     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27), Do(v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56));
281   }
282 
283   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19,T v20,T v21,T v22,T v23,T v24,T v25,T v26,T v27,T v28,T v29,T v30,T v31,T v32,T v33,T v34,T v35,T v36,T v37,T v38,T v39,T v40,T v41,T v42,T v43,T v44,T v45,T v46,T v47,T v48,T v49,T v50,T v51,T v52,T v53,T v54,T v55,T v56,T v57)284   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19, T v20, T v21, T v22, T v23, T v24, T v25, T v26, T v27, T v28, T v29, T v30, T v31, T v32, T v33, T v34, T v35, T v36, T v37, T v38, T v39, T v40, T v41, T v42, T v43, T v44, T v45, T v46, T v47, T v48, T v49, T v50, T v51, T v52, T v53, T v54, T v55, T v56, T v57) {
285     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28), Do(v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57));
286   }
287 
288   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19,T v20,T v21,T v22,T v23,T v24,T v25,T v26,T v27,T v28,T v29,T v30,T v31,T v32,T v33,T v34,T v35,T v36,T v37,T v38,T v39,T v40,T v41,T v42,T v43,T v44,T v45,T v46,T v47,T v48,T v49,T v50,T v51,T v52,T v53,T v54,T v55,T v56,T v57,T v58)289   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19, T v20, T v21, T v22, T v23, T v24, T v25, T v26, T v27, T v28, T v29, T v30, T v31, T v32, T v33, T v34, T v35, T v36, T v37, T v38, T v39, T v40, T v41, T v42, T v43, T v44, T v45, T v46, T v47, T v48, T v49, T v50, T v51, T v52, T v53, T v54, T v55, T v56, T v57, T v58) {
290     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28), Do(v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58));
291   }
292 
293   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19,T v20,T v21,T v22,T v23,T v24,T v25,T v26,T v27,T v28,T v29,T v30,T v31,T v32,T v33,T v34,T v35,T v36,T v37,T v38,T v39,T v40,T v41,T v42,T v43,T v44,T v45,T v46,T v47,T v48,T v49,T v50,T v51,T v52,T v53,T v54,T v55,T v56,T v57,T v58,T v59)294   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19, T v20, T v21, T v22, T v23, T v24, T v25, T v26, T v27, T v28, T v29, T v30, T v31, T v32, T v33, T v34, T v35, T v36, T v37, T v38, T v39, T v40, T v41, T v42, T v43, T v44, T v45, T v46, T v47, T v48, T v49, T v50, T v51, T v52, T v53, T v54, T v55, T v56, T v57, T v58, T v59) {
295     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29), Do(v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59));
296   }
297 
298   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19,T v20,T v21,T v22,T v23,T v24,T v25,T v26,T v27,T v28,T v29,T v30,T v31,T v32,T v33,T v34,T v35,T v36,T v37,T v38,T v39,T v40,T v41,T v42,T v43,T v44,T v45,T v46,T v47,T v48,T v49,T v50,T v51,T v52,T v53,T v54,T v55,T v56,T v57,T v58,T v59,T v60)299   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19, T v20, T v21, T v22, T v23, T v24, T v25, T v26, T v27, T v28, T v29, T v30, T v31, T v32, T v33, T v34, T v35, T v36, T v37, T v38, T v39, T v40, T v41, T v42, T v43, T v44, T v45, T v46, T v47, T v48, T v49, T v50, T v51, T v52, T v53, T v54, T v55, T v56, T v57, T v58, T v59, T v60) {
300     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29), Do(v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60));
301   }
302 
303   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19,T v20,T v21,T v22,T v23,T v24,T v25,T v26,T v27,T v28,T v29,T v30,T v31,T v32,T v33,T v34,T v35,T v36,T v37,T v38,T v39,T v40,T v41,T v42,T v43,T v44,T v45,T v46,T v47,T v48,T v49,T v50,T v51,T v52,T v53,T v54,T v55,T v56,T v57,T v58,T v59,T v60,T v61)304   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19, T v20, T v21, T v22, T v23, T v24, T v25, T v26, T v27, T v28, T v29, T v30, T v31, T v32, T v33, T v34, T v35, T v36, T v37, T v38, T v39, T v40, T v41, T v42, T v43, T v44, T v45, T v46, T v47, T v48, T v49, T v50, T v51, T v52, T v53, T v54, T v55, T v56, T v57, T v58, T v59, T v60, T v61) {
305     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30), Do(v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61));
306   }
307 
308   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19,T v20,T v21,T v22,T v23,T v24,T v25,T v26,T v27,T v28,T v29,T v30,T v31,T v32,T v33,T v34,T v35,T v36,T v37,T v38,T v39,T v40,T v41,T v42,T v43,T v44,T v45,T v46,T v47,T v48,T v49,T v50,T v51,T v52,T v53,T v54,T v55,T v56,T v57,T v58,T v59,T v60,T v61,T v62)309   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19, T v20, T v21, T v22, T v23, T v24, T v25, T v26, T v27, T v28, T v29, T v30, T v31, T v32, T v33, T v34, T v35, T v36, T v37, T v38, T v39, T v40, T v41, T v42, T v43, T v44, T v45, T v46, T v47, T v48, T v49, T v50, T v51, T v52, T v53, T v54, T v55, T v56, T v57, T v58, T v59, T v60, T v61, T v62) {
310     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30), Do(v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62));
311   }
312 
313   template <typename T>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19,T v20,T v21,T v22,T v23,T v24,T v25,T v26,T v27,T v28,T v29,T v30,T v31,T v32,T v33,T v34,T v35,T v36,T v37,T v38,T v39,T v40,T v41,T v42,T v43,T v44,T v45,T v46,T v47,T v48,T v49,T v50,T v51,T v52,T v53,T v54,T v55,T v56,T v57,T v58,T v59,T v60,T v61,T v62,T v63)314   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19, T v20, T v21, T v22, T v23, T v24, T v25, T v26, T v27, T v28, T v29, T v30, T v31, T v32, T v33, T v34, T v35, T v36, T v37, T v38, T v39, T v40, T v41, T v42, T v43, T v44, T v45, T v46, T v47, T v48, T v49, T v50, T v51, T v52, T v53, T v54, T v55, T v56, T v57, T v58, T v59, T v60, T v61, T v62, T v63) {
315     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31), Do(v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63));
316   }
317 
318   template <typename T, typename... RestT>
Do(T v0,T v1,T v2,T v3,T v4,T v5,T v6,T v7,T v8,T v9,T v10,T v11,T v12,T v13,T v14,T v15,T v16,T v17,T v18,T v19,T v20,T v21,T v22,T v23,T v24,T v25,T v26,T v27,T v28,T v29,T v30,T v31,T v32,T v33,T v34,T v35,T v36,T v37,T v38,T v39,T v40,T v41,T v42,T v43,T v44,T v45,T v46,T v47,T v48,T v49,T v50,T v51,T v52,T v53,T v54,T v55,T v56,T v57,T v58,T v59,T v60,T v61,T v62,T v63,T v64,RestT...rest)319   static inline constexpr T Do(T v0, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9, T v10, T v11, T v12, T v13, T v14, T v15, T v16, T v17, T v18, T v19, T v20, T v21, T v22, T v23, T v24, T v25, T v26, T v27, T v28, T v29, T v30, T v31, T v32, T v33, T v34, T v35, T v36, T v37, T v38, T v39, T v40, T v41, T v42, T v43, T v44, T v45, T v46, T v47, T v48, T v49, T v50, T v51, T v52, T v53, T v54, T v55, T v56, T v57, T v58, T v59, T v60, T v61, T v62, T v63, T v64, RestT... rest) {
320     return Do(Do(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63), Do(v64, rest...));
321   }
322