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