Photon Engine 2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
halton.h
Go to the documentation of this file.
1#pragma once
2
4#include "Math/math.h"
5#include "Math/math_table.h"
8#include "Math/hash.h"
9
10#include <Common/assertion.h>
11#include <Common/primitive_type.h>
12#include <Common/logging.h>
13
14#include <cstddef>
15#include <limits>
16#include <memory>
17#include <utility>
18
20{
21
22static_assert(MAX_DIMENSIONS <= math::table::PRIME.size());
23
24static_assert(math::table::PRIME[MAX_DIMENSIONS] <= std::numeric_limits<TableDigit>::max(),
25 "`TableDigit` may overflow. Consider using a larger type.");
26
27inline PermutationTable make_table(const std::size_t size)
28{
29 return std::make_unique<TableDigit[]>(size);
30}
31
32class FixedPermuter final
33{
34public:
35 static PermutationTable makeTable(const std::size_t dimIndex)
36 {
37 const auto base = math::table::PRIME[dimIndex];
38
39 // Every digit value has an entry
40 const std::size_t tableSize = base;
41 auto table = make_table(tableSize);
42
43 /*PH_DEFAULT_LOG(
44 "Halton fixed permuter table size = {}, memory used = {} bytes",
45 tableSize, tableSize * sizeof(TableDigit));*/
46
47 // Generate random permutation/mapping for each digit value
48 for(TableDigit digit = 0; digit < base; ++digit)
49 {
50 table[digit] = digit;
51 }
52 math::shuffle_durstenfeld(table.get(), table.get() + base);
53
54 return table;
55 }
56
57 explicit FixedPermuter(const PermutationTable& table)
58 : m_table(table)
59 {}
60
61 template<auto BASE>
62 uint64 operator () (const uint64 /* dimIndex */, const uint64 digit) const
63 {
64 return m_table[digit];
65 }
66
67private:
68 const PermutationTable& m_table;
69};
70
72{
73public:
74 static PermutationTable makeTable(const std::size_t dimIndex)
75 {
76 const auto base = math::table::PRIME[dimIndex];
78
79 // Each digit index has its own digit value mapping
80 const std::size_t tableSize = base * maxDigits;
81 auto table = make_table(tableSize);
82
83 /*PH_DEFAULT_LOG(
84 "Halton per-digit permuter table size = {}, memory used = {} bytes",
85 tableSize, tableSize * sizeof(TableDigit));*/
86
87 for(TableDigit digitIndex = 0; digitIndex < maxDigits; ++digitIndex)
88 {
89 // Generate random digit permutation/mapping for each digit value
90 for(TableDigit digit = 0; digit < base; ++digit)
91 {
92 table[digitIndex * base + digit] = digit;
93 }
94
96 table.get() + digitIndex * base,
97 table.get() + (digitIndex + 1) * base);
98 }
99
100 return table;
101 }
102
103 explicit PerDigitPermuter(const PermutationTable& table)
104 : m_table(table)
105 , m_currentDigitIndex(0)
106 {}
107
108 template<auto BASE>
109 uint64 operator () (const uint64 /* dimIndex */, const uint64 digit)
110 {
111 PH_ASSERT_LT(m_currentDigitIndex, math::radical_inverse_detail::num_meaningful_digits<real>(BASE));
112
113 const auto permutedDigit = m_table[m_currentDigitIndex * BASE + digit];
114 ++m_currentDigitIndex;
115 return permutedDigit;
116 }
117
118private:
119 const PermutationTable& m_table;
120 TableDigit m_currentDigitIndex;
121};
122
124{
125public:
126 explicit OwenScrambledPermuter(const uint64 dimIndex)
127 : m_currentHash(math::moremur_bit_mix_64((dimIndex << 4) + 1))
128 , m_scrambledDigits(0)
129#if PH_DEBUG
130 , m_currentDigitIndex(0)
131#endif
132 {}
133
134 template<auto BASE>
135 uint64 operator () (const uint64 /* dimIndex */, const uint64 digit)
136 {
137 PH_ASSERT_LT(m_currentDigitIndex, math::radical_inverse_detail::num_meaningful_digits<real>(BASE));
138
139 // Incorporate previous digits into the hash
140 m_currentHash = math::moremur_bit_mix_64(m_currentHash ^ m_scrambledDigits);
141
142 const auto scrambledDigit = math::permuted_index(
143 static_cast<uint32>(digit), static_cast<uint32>(BASE), static_cast<uint32>(m_currentHash));
144
145 // Push the new digit
146 m_scrambledDigits = m_scrambledDigits * BASE + scrambledDigit;
147
148#if PH_DEBUG
149 ++m_currentDigitIndex;
150#endif
151 return scrambledDigit;
152 }
153
154private:
155 uint64 m_currentHash;
156 uint64 m_scrambledDigits;
157#if PH_DEBUG
158 TableDigit m_currentDigitIndex;
159#endif
160};
161
165inline real radical_inverse(const uint64 dimIndex, const uint64 value)
166{
167 PH_ASSERT_LT(dimIndex, MAX_DIMENSIONS);
168
169 switch(dimIndex)
170 {
171 default: PH_ASSERT_UNREACHABLE_SECTION(); return 0.0_r;
1196 }
1197}
1198
1202template<typename DigitPermuter>
1204 const uint64 dimIndex, const uint64 value, DigitPermuter permuter)
1205{
1206 PH_ASSERT_LT(dimIndex, MAX_DIMENSIONS);
1207
1208 switch(dimIndex)
1209 {
1210 default: PH_ASSERT_UNREACHABLE_SECTION(); return 0.0_r;
1211 case 0: return math::radical_inverse_permuted<math::table::PRIME[0], real>(dimIndex, value, permuter);
1212 case 1: return math::radical_inverse_permuted<math::table::PRIME[1], real>(dimIndex, value, permuter);
1213 case 2: return math::radical_inverse_permuted<math::table::PRIME[2], real>(dimIndex, value, permuter);
1214 case 3: return math::radical_inverse_permuted<math::table::PRIME[3], real>(dimIndex, value, permuter);
1215 case 4: return math::radical_inverse_permuted<math::table::PRIME[4], real>(dimIndex, value, permuter);
1216 case 5: return math::radical_inverse_permuted<math::table::PRIME[5], real>(dimIndex, value, permuter);
1217 case 6: return math::radical_inverse_permuted<math::table::PRIME[6], real>(dimIndex, value, permuter);
1218 case 7: return math::radical_inverse_permuted<math::table::PRIME[7], real>(dimIndex, value, permuter);
1219 case 8: return math::radical_inverse_permuted<math::table::PRIME[8], real>(dimIndex, value, permuter);
1220 case 9: return math::radical_inverse_permuted<math::table::PRIME[9], real>(dimIndex, value, permuter);
1221 case 10: return math::radical_inverse_permuted<math::table::PRIME[10], real>(dimIndex, value, permuter);
1222 case 11: return math::radical_inverse_permuted<math::table::PRIME[11], real>(dimIndex, value, permuter);
1223 case 12: return math::radical_inverse_permuted<math::table::PRIME[12], real>(dimIndex, value, permuter);
1224 case 13: return math::radical_inverse_permuted<math::table::PRIME[13], real>(dimIndex, value, permuter);
1225 case 14: return math::radical_inverse_permuted<math::table::PRIME[14], real>(dimIndex, value, permuter);
1226 case 15: return math::radical_inverse_permuted<math::table::PRIME[15], real>(dimIndex, value, permuter);
1227 case 16: return math::radical_inverse_permuted<math::table::PRIME[16], real>(dimIndex, value, permuter);
1228 case 17: return math::radical_inverse_permuted<math::table::PRIME[17], real>(dimIndex, value, permuter);
1229 case 18: return math::radical_inverse_permuted<math::table::PRIME[18], real>(dimIndex, value, permuter);
1230 case 19: return math::radical_inverse_permuted<math::table::PRIME[19], real>(dimIndex, value, permuter);
1231 case 20: return math::radical_inverse_permuted<math::table::PRIME[20], real>(dimIndex, value, permuter);
1232 case 21: return math::radical_inverse_permuted<math::table::PRIME[21], real>(dimIndex, value, permuter);
1233 case 22: return math::radical_inverse_permuted<math::table::PRIME[22], real>(dimIndex, value, permuter);
1234 case 23: return math::radical_inverse_permuted<math::table::PRIME[23], real>(dimIndex, value, permuter);
1235 case 24: return math::radical_inverse_permuted<math::table::PRIME[24], real>(dimIndex, value, permuter);
1236 case 25: return math::radical_inverse_permuted<math::table::PRIME[25], real>(dimIndex, value, permuter);
1237 case 26: return math::radical_inverse_permuted<math::table::PRIME[26], real>(dimIndex, value, permuter);
1238 case 27: return math::radical_inverse_permuted<math::table::PRIME[27], real>(dimIndex, value, permuter);
1239 case 28: return math::radical_inverse_permuted<math::table::PRIME[28], real>(dimIndex, value, permuter);
1240 case 29: return math::radical_inverse_permuted<math::table::PRIME[29], real>(dimIndex, value, permuter);
1241 case 30: return math::radical_inverse_permuted<math::table::PRIME[30], real>(dimIndex, value, permuter);
1242 case 31: return math::radical_inverse_permuted<math::table::PRIME[31], real>(dimIndex, value, permuter);
1243 case 32: return math::radical_inverse_permuted<math::table::PRIME[32], real>(dimIndex, value, permuter);
1244 case 33: return math::radical_inverse_permuted<math::table::PRIME[33], real>(dimIndex, value, permuter);
1245 case 34: return math::radical_inverse_permuted<math::table::PRIME[34], real>(dimIndex, value, permuter);
1246 case 35: return math::radical_inverse_permuted<math::table::PRIME[35], real>(dimIndex, value, permuter);
1247 case 36: return math::radical_inverse_permuted<math::table::PRIME[36], real>(dimIndex, value, permuter);
1248 case 37: return math::radical_inverse_permuted<math::table::PRIME[37], real>(dimIndex, value, permuter);
1249 case 38: return math::radical_inverse_permuted<math::table::PRIME[38], real>(dimIndex, value, permuter);
1250 case 39: return math::radical_inverse_permuted<math::table::PRIME[39], real>(dimIndex, value, permuter);
1251 case 40: return math::radical_inverse_permuted<math::table::PRIME[40], real>(dimIndex, value, permuter);
1252 case 41: return math::radical_inverse_permuted<math::table::PRIME[41], real>(dimIndex, value, permuter);
1253 case 42: return math::radical_inverse_permuted<math::table::PRIME[42], real>(dimIndex, value, permuter);
1254 case 43: return math::radical_inverse_permuted<math::table::PRIME[43], real>(dimIndex, value, permuter);
1255 case 44: return math::radical_inverse_permuted<math::table::PRIME[44], real>(dimIndex, value, permuter);
1256 case 45: return math::radical_inverse_permuted<math::table::PRIME[45], real>(dimIndex, value, permuter);
1257 case 46: return math::radical_inverse_permuted<math::table::PRIME[46], real>(dimIndex, value, permuter);
1258 case 47: return math::radical_inverse_permuted<math::table::PRIME[47], real>(dimIndex, value, permuter);
1259 case 48: return math::radical_inverse_permuted<math::table::PRIME[48], real>(dimIndex, value, permuter);
1260 case 49: return math::radical_inverse_permuted<math::table::PRIME[49], real>(dimIndex, value, permuter);
1261 case 50: return math::radical_inverse_permuted<math::table::PRIME[50], real>(dimIndex, value, permuter);
1262 case 51: return math::radical_inverse_permuted<math::table::PRIME[51], real>(dimIndex, value, permuter);
1263 case 52: return math::radical_inverse_permuted<math::table::PRIME[52], real>(dimIndex, value, permuter);
1264 case 53: return math::radical_inverse_permuted<math::table::PRIME[53], real>(dimIndex, value, permuter);
1265 case 54: return math::radical_inverse_permuted<math::table::PRIME[54], real>(dimIndex, value, permuter);
1266 case 55: return math::radical_inverse_permuted<math::table::PRIME[55], real>(dimIndex, value, permuter);
1267 case 56: return math::radical_inverse_permuted<math::table::PRIME[56], real>(dimIndex, value, permuter);
1268 case 57: return math::radical_inverse_permuted<math::table::PRIME[57], real>(dimIndex, value, permuter);
1269 case 58: return math::radical_inverse_permuted<math::table::PRIME[58], real>(dimIndex, value, permuter);
1270 case 59: return math::radical_inverse_permuted<math::table::PRIME[59], real>(dimIndex, value, permuter);
1271 case 60: return math::radical_inverse_permuted<math::table::PRIME[60], real>(dimIndex, value, permuter);
1272 case 61: return math::radical_inverse_permuted<math::table::PRIME[61], real>(dimIndex, value, permuter);
1273 case 62: return math::radical_inverse_permuted<math::table::PRIME[62], real>(dimIndex, value, permuter);
1274 case 63: return math::radical_inverse_permuted<math::table::PRIME[63], real>(dimIndex, value, permuter);
1275 case 64: return math::radical_inverse_permuted<math::table::PRIME[64], real>(dimIndex, value, permuter);
1276 case 65: return math::radical_inverse_permuted<math::table::PRIME[65], real>(dimIndex, value, permuter);
1277 case 66: return math::radical_inverse_permuted<math::table::PRIME[66], real>(dimIndex, value, permuter);
1278 case 67: return math::radical_inverse_permuted<math::table::PRIME[67], real>(dimIndex, value, permuter);
1279 case 68: return math::radical_inverse_permuted<math::table::PRIME[68], real>(dimIndex, value, permuter);
1280 case 69: return math::radical_inverse_permuted<math::table::PRIME[69], real>(dimIndex, value, permuter);
1281 case 70: return math::radical_inverse_permuted<math::table::PRIME[70], real>(dimIndex, value, permuter);
1282 case 71: return math::radical_inverse_permuted<math::table::PRIME[71], real>(dimIndex, value, permuter);
1283 case 72: return math::radical_inverse_permuted<math::table::PRIME[72], real>(dimIndex, value, permuter);
1284 case 73: return math::radical_inverse_permuted<math::table::PRIME[73], real>(dimIndex, value, permuter);
1285 case 74: return math::radical_inverse_permuted<math::table::PRIME[74], real>(dimIndex, value, permuter);
1286 case 75: return math::radical_inverse_permuted<math::table::PRIME[75], real>(dimIndex, value, permuter);
1287 case 76: return math::radical_inverse_permuted<math::table::PRIME[76], real>(dimIndex, value, permuter);
1288 case 77: return math::radical_inverse_permuted<math::table::PRIME[77], real>(dimIndex, value, permuter);
1289 case 78: return math::radical_inverse_permuted<math::table::PRIME[78], real>(dimIndex, value, permuter);
1290 case 79: return math::radical_inverse_permuted<math::table::PRIME[79], real>(dimIndex, value, permuter);
1291 case 80: return math::radical_inverse_permuted<math::table::PRIME[80], real>(dimIndex, value, permuter);
1292 case 81: return math::radical_inverse_permuted<math::table::PRIME[81], real>(dimIndex, value, permuter);
1293 case 82: return math::radical_inverse_permuted<math::table::PRIME[82], real>(dimIndex, value, permuter);
1294 case 83: return math::radical_inverse_permuted<math::table::PRIME[83], real>(dimIndex, value, permuter);
1295 case 84: return math::radical_inverse_permuted<math::table::PRIME[84], real>(dimIndex, value, permuter);
1296 case 85: return math::radical_inverse_permuted<math::table::PRIME[85], real>(dimIndex, value, permuter);
1297 case 86: return math::radical_inverse_permuted<math::table::PRIME[86], real>(dimIndex, value, permuter);
1298 case 87: return math::radical_inverse_permuted<math::table::PRIME[87], real>(dimIndex, value, permuter);
1299 case 88: return math::radical_inverse_permuted<math::table::PRIME[88], real>(dimIndex, value, permuter);
1300 case 89: return math::radical_inverse_permuted<math::table::PRIME[89], real>(dimIndex, value, permuter);
1301 case 90: return math::radical_inverse_permuted<math::table::PRIME[90], real>(dimIndex, value, permuter);
1302 case 91: return math::radical_inverse_permuted<math::table::PRIME[91], real>(dimIndex, value, permuter);
1303 case 92: return math::radical_inverse_permuted<math::table::PRIME[92], real>(dimIndex, value, permuter);
1304 case 93: return math::radical_inverse_permuted<math::table::PRIME[93], real>(dimIndex, value, permuter);
1305 case 94: return math::radical_inverse_permuted<math::table::PRIME[94], real>(dimIndex, value, permuter);
1306 case 95: return math::radical_inverse_permuted<math::table::PRIME[95], real>(dimIndex, value, permuter);
1307 case 96: return math::radical_inverse_permuted<math::table::PRIME[96], real>(dimIndex, value, permuter);
1308 case 97: return math::radical_inverse_permuted<math::table::PRIME[97], real>(dimIndex, value, permuter);
1309 case 98: return math::radical_inverse_permuted<math::table::PRIME[98], real>(dimIndex, value, permuter);
1310 case 99: return math::radical_inverse_permuted<math::table::PRIME[99], real>(dimIndex, value, permuter);
1311 case 100: return math::radical_inverse_permuted<math::table::PRIME[100], real>(dimIndex, value, permuter);
1312 case 101: return math::radical_inverse_permuted<math::table::PRIME[101], real>(dimIndex, value, permuter);
1313 case 102: return math::radical_inverse_permuted<math::table::PRIME[102], real>(dimIndex, value, permuter);
1314 case 103: return math::radical_inverse_permuted<math::table::PRIME[103], real>(dimIndex, value, permuter);
1315 case 104: return math::radical_inverse_permuted<math::table::PRIME[104], real>(dimIndex, value, permuter);
1316 case 105: return math::radical_inverse_permuted<math::table::PRIME[105], real>(dimIndex, value, permuter);
1317 case 106: return math::radical_inverse_permuted<math::table::PRIME[106], real>(dimIndex, value, permuter);
1318 case 107: return math::radical_inverse_permuted<math::table::PRIME[107], real>(dimIndex, value, permuter);
1319 case 108: return math::radical_inverse_permuted<math::table::PRIME[108], real>(dimIndex, value, permuter);
1320 case 109: return math::radical_inverse_permuted<math::table::PRIME[109], real>(dimIndex, value, permuter);
1321 case 110: return math::radical_inverse_permuted<math::table::PRIME[110], real>(dimIndex, value, permuter);
1322 case 111: return math::radical_inverse_permuted<math::table::PRIME[111], real>(dimIndex, value, permuter);
1323 case 112: return math::radical_inverse_permuted<math::table::PRIME[112], real>(dimIndex, value, permuter);
1324 case 113: return math::radical_inverse_permuted<math::table::PRIME[113], real>(dimIndex, value, permuter);
1325 case 114: return math::radical_inverse_permuted<math::table::PRIME[114], real>(dimIndex, value, permuter);
1326 case 115: return math::radical_inverse_permuted<math::table::PRIME[115], real>(dimIndex, value, permuter);
1327 case 116: return math::radical_inverse_permuted<math::table::PRIME[116], real>(dimIndex, value, permuter);
1328 case 117: return math::radical_inverse_permuted<math::table::PRIME[117], real>(dimIndex, value, permuter);
1329 case 118: return math::radical_inverse_permuted<math::table::PRIME[118], real>(dimIndex, value, permuter);
1330 case 119: return math::radical_inverse_permuted<math::table::PRIME[119], real>(dimIndex, value, permuter);
1331 case 120: return math::radical_inverse_permuted<math::table::PRIME[120], real>(dimIndex, value, permuter);
1332 case 121: return math::radical_inverse_permuted<math::table::PRIME[121], real>(dimIndex, value, permuter);
1333 case 122: return math::radical_inverse_permuted<math::table::PRIME[122], real>(dimIndex, value, permuter);
1334 case 123: return math::radical_inverse_permuted<math::table::PRIME[123], real>(dimIndex, value, permuter);
1335 case 124: return math::radical_inverse_permuted<math::table::PRIME[124], real>(dimIndex, value, permuter);
1336 case 125: return math::radical_inverse_permuted<math::table::PRIME[125], real>(dimIndex, value, permuter);
1337 case 126: return math::radical_inverse_permuted<math::table::PRIME[126], real>(dimIndex, value, permuter);
1338 case 127: return math::radical_inverse_permuted<math::table::PRIME[127], real>(dimIndex, value, permuter);
1339 case 128: return math::radical_inverse_permuted<math::table::PRIME[128], real>(dimIndex, value, permuter);
1340 case 129: return math::radical_inverse_permuted<math::table::PRIME[129], real>(dimIndex, value, permuter);
1341 case 130: return math::radical_inverse_permuted<math::table::PRIME[130], real>(dimIndex, value, permuter);
1342 case 131: return math::radical_inverse_permuted<math::table::PRIME[131], real>(dimIndex, value, permuter);
1343 case 132: return math::radical_inverse_permuted<math::table::PRIME[132], real>(dimIndex, value, permuter);
1344 case 133: return math::radical_inverse_permuted<math::table::PRIME[133], real>(dimIndex, value, permuter);
1345 case 134: return math::radical_inverse_permuted<math::table::PRIME[134], real>(dimIndex, value, permuter);
1346 case 135: return math::radical_inverse_permuted<math::table::PRIME[135], real>(dimIndex, value, permuter);
1347 case 136: return math::radical_inverse_permuted<math::table::PRIME[136], real>(dimIndex, value, permuter);
1348 case 137: return math::radical_inverse_permuted<math::table::PRIME[137], real>(dimIndex, value, permuter);
1349 case 138: return math::radical_inverse_permuted<math::table::PRIME[138], real>(dimIndex, value, permuter);
1350 case 139: return math::radical_inverse_permuted<math::table::PRIME[139], real>(dimIndex, value, permuter);
1351 case 140: return math::radical_inverse_permuted<math::table::PRIME[140], real>(dimIndex, value, permuter);
1352 case 141: return math::radical_inverse_permuted<math::table::PRIME[141], real>(dimIndex, value, permuter);
1353 case 142: return math::radical_inverse_permuted<math::table::PRIME[142], real>(dimIndex, value, permuter);
1354 case 143: return math::radical_inverse_permuted<math::table::PRIME[143], real>(dimIndex, value, permuter);
1355 case 144: return math::radical_inverse_permuted<math::table::PRIME[144], real>(dimIndex, value, permuter);
1356 case 145: return math::radical_inverse_permuted<math::table::PRIME[145], real>(dimIndex, value, permuter);
1357 case 146: return math::radical_inverse_permuted<math::table::PRIME[146], real>(dimIndex, value, permuter);
1358 case 147: return math::radical_inverse_permuted<math::table::PRIME[147], real>(dimIndex, value, permuter);
1359 case 148: return math::radical_inverse_permuted<math::table::PRIME[148], real>(dimIndex, value, permuter);
1360 case 149: return math::radical_inverse_permuted<math::table::PRIME[149], real>(dimIndex, value, permuter);
1361 case 150: return math::radical_inverse_permuted<math::table::PRIME[150], real>(dimIndex, value, permuter);
1362 case 151: return math::radical_inverse_permuted<math::table::PRIME[151], real>(dimIndex, value, permuter);
1363 case 152: return math::radical_inverse_permuted<math::table::PRIME[152], real>(dimIndex, value, permuter);
1364 case 153: return math::radical_inverse_permuted<math::table::PRIME[153], real>(dimIndex, value, permuter);
1365 case 154: return math::radical_inverse_permuted<math::table::PRIME[154], real>(dimIndex, value, permuter);
1366 case 155: return math::radical_inverse_permuted<math::table::PRIME[155], real>(dimIndex, value, permuter);
1367 case 156: return math::radical_inverse_permuted<math::table::PRIME[156], real>(dimIndex, value, permuter);
1368 case 157: return math::radical_inverse_permuted<math::table::PRIME[157], real>(dimIndex, value, permuter);
1369 case 158: return math::radical_inverse_permuted<math::table::PRIME[158], real>(dimIndex, value, permuter);
1370 case 159: return math::radical_inverse_permuted<math::table::PRIME[159], real>(dimIndex, value, permuter);
1371 case 160: return math::radical_inverse_permuted<math::table::PRIME[160], real>(dimIndex, value, permuter);
1372 case 161: return math::radical_inverse_permuted<math::table::PRIME[161], real>(dimIndex, value, permuter);
1373 case 162: return math::radical_inverse_permuted<math::table::PRIME[162], real>(dimIndex, value, permuter);
1374 case 163: return math::radical_inverse_permuted<math::table::PRIME[163], real>(dimIndex, value, permuter);
1375 case 164: return math::radical_inverse_permuted<math::table::PRIME[164], real>(dimIndex, value, permuter);
1376 case 165: return math::radical_inverse_permuted<math::table::PRIME[165], real>(dimIndex, value, permuter);
1377 case 166: return math::radical_inverse_permuted<math::table::PRIME[166], real>(dimIndex, value, permuter);
1378 case 167: return math::radical_inverse_permuted<math::table::PRIME[167], real>(dimIndex, value, permuter);
1379 case 168: return math::radical_inverse_permuted<math::table::PRIME[168], real>(dimIndex, value, permuter);
1380 case 169: return math::radical_inverse_permuted<math::table::PRIME[169], real>(dimIndex, value, permuter);
1381 case 170: return math::radical_inverse_permuted<math::table::PRIME[170], real>(dimIndex, value, permuter);
1382 case 171: return math::radical_inverse_permuted<math::table::PRIME[171], real>(dimIndex, value, permuter);
1383 case 172: return math::radical_inverse_permuted<math::table::PRIME[172], real>(dimIndex, value, permuter);
1384 case 173: return math::radical_inverse_permuted<math::table::PRIME[173], real>(dimIndex, value, permuter);
1385 case 174: return math::radical_inverse_permuted<math::table::PRIME[174], real>(dimIndex, value, permuter);
1386 case 175: return math::radical_inverse_permuted<math::table::PRIME[175], real>(dimIndex, value, permuter);
1387 case 176: return math::radical_inverse_permuted<math::table::PRIME[176], real>(dimIndex, value, permuter);
1388 case 177: return math::radical_inverse_permuted<math::table::PRIME[177], real>(dimIndex, value, permuter);
1389 case 178: return math::radical_inverse_permuted<math::table::PRIME[178], real>(dimIndex, value, permuter);
1390 case 179: return math::radical_inverse_permuted<math::table::PRIME[179], real>(dimIndex, value, permuter);
1391 case 180: return math::radical_inverse_permuted<math::table::PRIME[180], real>(dimIndex, value, permuter);
1392 case 181: return math::radical_inverse_permuted<math::table::PRIME[181], real>(dimIndex, value, permuter);
1393 case 182: return math::radical_inverse_permuted<math::table::PRIME[182], real>(dimIndex, value, permuter);
1394 case 183: return math::radical_inverse_permuted<math::table::PRIME[183], real>(dimIndex, value, permuter);
1395 case 184: return math::radical_inverse_permuted<math::table::PRIME[184], real>(dimIndex, value, permuter);
1396 case 185: return math::radical_inverse_permuted<math::table::PRIME[185], real>(dimIndex, value, permuter);
1397 case 186: return math::radical_inverse_permuted<math::table::PRIME[186], real>(dimIndex, value, permuter);
1398 case 187: return math::radical_inverse_permuted<math::table::PRIME[187], real>(dimIndex, value, permuter);
1399 case 188: return math::radical_inverse_permuted<math::table::PRIME[188], real>(dimIndex, value, permuter);
1400 case 189: return math::radical_inverse_permuted<math::table::PRIME[189], real>(dimIndex, value, permuter);
1401 case 190: return math::radical_inverse_permuted<math::table::PRIME[190], real>(dimIndex, value, permuter);
1402 case 191: return math::radical_inverse_permuted<math::table::PRIME[191], real>(dimIndex, value, permuter);
1403 case 192: return math::radical_inverse_permuted<math::table::PRIME[192], real>(dimIndex, value, permuter);
1404 case 193: return math::radical_inverse_permuted<math::table::PRIME[193], real>(dimIndex, value, permuter);
1405 case 194: return math::radical_inverse_permuted<math::table::PRIME[194], real>(dimIndex, value, permuter);
1406 case 195: return math::radical_inverse_permuted<math::table::PRIME[195], real>(dimIndex, value, permuter);
1407 case 196: return math::radical_inverse_permuted<math::table::PRIME[196], real>(dimIndex, value, permuter);
1408 case 197: return math::radical_inverse_permuted<math::table::PRIME[197], real>(dimIndex, value, permuter);
1409 case 198: return math::radical_inverse_permuted<math::table::PRIME[198], real>(dimIndex, value, permuter);
1410 case 199: return math::radical_inverse_permuted<math::table::PRIME[199], real>(dimIndex, value, permuter);
1411 case 200: return math::radical_inverse_permuted<math::table::PRIME[200], real>(dimIndex, value, permuter);
1412 case 201: return math::radical_inverse_permuted<math::table::PRIME[201], real>(dimIndex, value, permuter);
1413 case 202: return math::radical_inverse_permuted<math::table::PRIME[202], real>(dimIndex, value, permuter);
1414 case 203: return math::radical_inverse_permuted<math::table::PRIME[203], real>(dimIndex, value, permuter);
1415 case 204: return math::radical_inverse_permuted<math::table::PRIME[204], real>(dimIndex, value, permuter);
1416 case 205: return math::radical_inverse_permuted<math::table::PRIME[205], real>(dimIndex, value, permuter);
1417 case 206: return math::radical_inverse_permuted<math::table::PRIME[206], real>(dimIndex, value, permuter);
1418 case 207: return math::radical_inverse_permuted<math::table::PRIME[207], real>(dimIndex, value, permuter);
1419 case 208: return math::radical_inverse_permuted<math::table::PRIME[208], real>(dimIndex, value, permuter);
1420 case 209: return math::radical_inverse_permuted<math::table::PRIME[209], real>(dimIndex, value, permuter);
1421 case 210: return math::radical_inverse_permuted<math::table::PRIME[210], real>(dimIndex, value, permuter);
1422 case 211: return math::radical_inverse_permuted<math::table::PRIME[211], real>(dimIndex, value, permuter);
1423 case 212: return math::radical_inverse_permuted<math::table::PRIME[212], real>(dimIndex, value, permuter);
1424 case 213: return math::radical_inverse_permuted<math::table::PRIME[213], real>(dimIndex, value, permuter);
1425 case 214: return math::radical_inverse_permuted<math::table::PRIME[214], real>(dimIndex, value, permuter);
1426 case 215: return math::radical_inverse_permuted<math::table::PRIME[215], real>(dimIndex, value, permuter);
1427 case 216: return math::radical_inverse_permuted<math::table::PRIME[216], real>(dimIndex, value, permuter);
1428 case 217: return math::radical_inverse_permuted<math::table::PRIME[217], real>(dimIndex, value, permuter);
1429 case 218: return math::radical_inverse_permuted<math::table::PRIME[218], real>(dimIndex, value, permuter);
1430 case 219: return math::radical_inverse_permuted<math::table::PRIME[219], real>(dimIndex, value, permuter);
1431 case 220: return math::radical_inverse_permuted<math::table::PRIME[220], real>(dimIndex, value, permuter);
1432 case 221: return math::radical_inverse_permuted<math::table::PRIME[221], real>(dimIndex, value, permuter);
1433 case 222: return math::radical_inverse_permuted<math::table::PRIME[222], real>(dimIndex, value, permuter);
1434 case 223: return math::radical_inverse_permuted<math::table::PRIME[223], real>(dimIndex, value, permuter);
1435 case 224: return math::radical_inverse_permuted<math::table::PRIME[224], real>(dimIndex, value, permuter);
1436 case 225: return math::radical_inverse_permuted<math::table::PRIME[225], real>(dimIndex, value, permuter);
1437 case 226: return math::radical_inverse_permuted<math::table::PRIME[226], real>(dimIndex, value, permuter);
1438 case 227: return math::radical_inverse_permuted<math::table::PRIME[227], real>(dimIndex, value, permuter);
1439 case 228: return math::radical_inverse_permuted<math::table::PRIME[228], real>(dimIndex, value, permuter);
1440 case 229: return math::radical_inverse_permuted<math::table::PRIME[229], real>(dimIndex, value, permuter);
1441 case 230: return math::radical_inverse_permuted<math::table::PRIME[230], real>(dimIndex, value, permuter);
1442 case 231: return math::radical_inverse_permuted<math::table::PRIME[231], real>(dimIndex, value, permuter);
1443 case 232: return math::radical_inverse_permuted<math::table::PRIME[232], real>(dimIndex, value, permuter);
1444 case 233: return math::radical_inverse_permuted<math::table::PRIME[233], real>(dimIndex, value, permuter);
1445 case 234: return math::radical_inverse_permuted<math::table::PRIME[234], real>(dimIndex, value, permuter);
1446 case 235: return math::radical_inverse_permuted<math::table::PRIME[235], real>(dimIndex, value, permuter);
1447 case 236: return math::radical_inverse_permuted<math::table::PRIME[236], real>(dimIndex, value, permuter);
1448 case 237: return math::radical_inverse_permuted<math::table::PRIME[237], real>(dimIndex, value, permuter);
1449 case 238: return math::radical_inverse_permuted<math::table::PRIME[238], real>(dimIndex, value, permuter);
1450 case 239: return math::radical_inverse_permuted<math::table::PRIME[239], real>(dimIndex, value, permuter);
1451 case 240: return math::radical_inverse_permuted<math::table::PRIME[240], real>(dimIndex, value, permuter);
1452 case 241: return math::radical_inverse_permuted<math::table::PRIME[241], real>(dimIndex, value, permuter);
1453 case 242: return math::radical_inverse_permuted<math::table::PRIME[242], real>(dimIndex, value, permuter);
1454 case 243: return math::radical_inverse_permuted<math::table::PRIME[243], real>(dimIndex, value, permuter);
1455 case 244: return math::radical_inverse_permuted<math::table::PRIME[244], real>(dimIndex, value, permuter);
1456 case 245: return math::radical_inverse_permuted<math::table::PRIME[245], real>(dimIndex, value, permuter);
1457 case 246: return math::radical_inverse_permuted<math::table::PRIME[246], real>(dimIndex, value, permuter);
1458 case 247: return math::radical_inverse_permuted<math::table::PRIME[247], real>(dimIndex, value, permuter);
1459 case 248: return math::radical_inverse_permuted<math::table::PRIME[248], real>(dimIndex, value, permuter);
1460 case 249: return math::radical_inverse_permuted<math::table::PRIME[249], real>(dimIndex, value, permuter);
1461 case 250: return math::radical_inverse_permuted<math::table::PRIME[250], real>(dimIndex, value, permuter);
1462 case 251: return math::radical_inverse_permuted<math::table::PRIME[251], real>(dimIndex, value, permuter);
1463 case 252: return math::radical_inverse_permuted<math::table::PRIME[252], real>(dimIndex, value, permuter);
1464 case 253: return math::radical_inverse_permuted<math::table::PRIME[253], real>(dimIndex, value, permuter);
1465 case 254: return math::radical_inverse_permuted<math::table::PRIME[254], real>(dimIndex, value, permuter);
1466 case 255: return math::radical_inverse_permuted<math::table::PRIME[255], real>(dimIndex, value, permuter);
1467 case 256: return math::radical_inverse_permuted<math::table::PRIME[256], real>(dimIndex, value, permuter);
1468 case 257: return math::radical_inverse_permuted<math::table::PRIME[257], real>(dimIndex, value, permuter);
1469 case 258: return math::radical_inverse_permuted<math::table::PRIME[258], real>(dimIndex, value, permuter);
1470 case 259: return math::radical_inverse_permuted<math::table::PRIME[259], real>(dimIndex, value, permuter);
1471 case 260: return math::radical_inverse_permuted<math::table::PRIME[260], real>(dimIndex, value, permuter);
1472 case 261: return math::radical_inverse_permuted<math::table::PRIME[261], real>(dimIndex, value, permuter);
1473 case 262: return math::radical_inverse_permuted<math::table::PRIME[262], real>(dimIndex, value, permuter);
1474 case 263: return math::radical_inverse_permuted<math::table::PRIME[263], real>(dimIndex, value, permuter);
1475 case 264: return math::radical_inverse_permuted<math::table::PRIME[264], real>(dimIndex, value, permuter);
1476 case 265: return math::radical_inverse_permuted<math::table::PRIME[265], real>(dimIndex, value, permuter);
1477 case 266: return math::radical_inverse_permuted<math::table::PRIME[266], real>(dimIndex, value, permuter);
1478 case 267: return math::radical_inverse_permuted<math::table::PRIME[267], real>(dimIndex, value, permuter);
1479 case 268: return math::radical_inverse_permuted<math::table::PRIME[268], real>(dimIndex, value, permuter);
1480 case 269: return math::radical_inverse_permuted<math::table::PRIME[269], real>(dimIndex, value, permuter);
1481 case 270: return math::radical_inverse_permuted<math::table::PRIME[270], real>(dimIndex, value, permuter);
1482 case 271: return math::radical_inverse_permuted<math::table::PRIME[271], real>(dimIndex, value, permuter);
1483 case 272: return math::radical_inverse_permuted<math::table::PRIME[272], real>(dimIndex, value, permuter);
1484 case 273: return math::radical_inverse_permuted<math::table::PRIME[273], real>(dimIndex, value, permuter);
1485 case 274: return math::radical_inverse_permuted<math::table::PRIME[274], real>(dimIndex, value, permuter);
1486 case 275: return math::radical_inverse_permuted<math::table::PRIME[275], real>(dimIndex, value, permuter);
1487 case 276: return math::radical_inverse_permuted<math::table::PRIME[276], real>(dimIndex, value, permuter);
1488 case 277: return math::radical_inverse_permuted<math::table::PRIME[277], real>(dimIndex, value, permuter);
1489 case 278: return math::radical_inverse_permuted<math::table::PRIME[278], real>(dimIndex, value, permuter);
1490 case 279: return math::radical_inverse_permuted<math::table::PRIME[279], real>(dimIndex, value, permuter);
1491 case 280: return math::radical_inverse_permuted<math::table::PRIME[280], real>(dimIndex, value, permuter);
1492 case 281: return math::radical_inverse_permuted<math::table::PRIME[281], real>(dimIndex, value, permuter);
1493 case 282: return math::radical_inverse_permuted<math::table::PRIME[282], real>(dimIndex, value, permuter);
1494 case 283: return math::radical_inverse_permuted<math::table::PRIME[283], real>(dimIndex, value, permuter);
1495 case 284: return math::radical_inverse_permuted<math::table::PRIME[284], real>(dimIndex, value, permuter);
1496 case 285: return math::radical_inverse_permuted<math::table::PRIME[285], real>(dimIndex, value, permuter);
1497 case 286: return math::radical_inverse_permuted<math::table::PRIME[286], real>(dimIndex, value, permuter);
1498 case 287: return math::radical_inverse_permuted<math::table::PRIME[287], real>(dimIndex, value, permuter);
1499 case 288: return math::radical_inverse_permuted<math::table::PRIME[288], real>(dimIndex, value, permuter);
1500 case 289: return math::radical_inverse_permuted<math::table::PRIME[289], real>(dimIndex, value, permuter);
1501 case 290: return math::radical_inverse_permuted<math::table::PRIME[290], real>(dimIndex, value, permuter);
1502 case 291: return math::radical_inverse_permuted<math::table::PRIME[291], real>(dimIndex, value, permuter);
1503 case 292: return math::radical_inverse_permuted<math::table::PRIME[292], real>(dimIndex, value, permuter);
1504 case 293: return math::radical_inverse_permuted<math::table::PRIME[293], real>(dimIndex, value, permuter);
1505 case 294: return math::radical_inverse_permuted<math::table::PRIME[294], real>(dimIndex, value, permuter);
1506 case 295: return math::radical_inverse_permuted<math::table::PRIME[295], real>(dimIndex, value, permuter);
1507 case 296: return math::radical_inverse_permuted<math::table::PRIME[296], real>(dimIndex, value, permuter);
1508 case 297: return math::radical_inverse_permuted<math::table::PRIME[297], real>(dimIndex, value, permuter);
1509 case 298: return math::radical_inverse_permuted<math::table::PRIME[298], real>(dimIndex, value, permuter);
1510 case 299: return math::radical_inverse_permuted<math::table::PRIME[299], real>(dimIndex, value, permuter);
1511 case 300: return math::radical_inverse_permuted<math::table::PRIME[300], real>(dimIndex, value, permuter);
1512 case 301: return math::radical_inverse_permuted<math::table::PRIME[301], real>(dimIndex, value, permuter);
1513 case 302: return math::radical_inverse_permuted<math::table::PRIME[302], real>(dimIndex, value, permuter);
1514 case 303: return math::radical_inverse_permuted<math::table::PRIME[303], real>(dimIndex, value, permuter);
1515 case 304: return math::radical_inverse_permuted<math::table::PRIME[304], real>(dimIndex, value, permuter);
1516 case 305: return math::radical_inverse_permuted<math::table::PRIME[305], real>(dimIndex, value, permuter);
1517 case 306: return math::radical_inverse_permuted<math::table::PRIME[306], real>(dimIndex, value, permuter);
1518 case 307: return math::radical_inverse_permuted<math::table::PRIME[307], real>(dimIndex, value, permuter);
1519 case 308: return math::radical_inverse_permuted<math::table::PRIME[308], real>(dimIndex, value, permuter);
1520 case 309: return math::radical_inverse_permuted<math::table::PRIME[309], real>(dimIndex, value, permuter);
1521 case 310: return math::radical_inverse_permuted<math::table::PRIME[310], real>(dimIndex, value, permuter);
1522 case 311: return math::radical_inverse_permuted<math::table::PRIME[311], real>(dimIndex, value, permuter);
1523 case 312: return math::radical_inverse_permuted<math::table::PRIME[312], real>(dimIndex, value, permuter);
1524 case 313: return math::radical_inverse_permuted<math::table::PRIME[313], real>(dimIndex, value, permuter);
1525 case 314: return math::radical_inverse_permuted<math::table::PRIME[314], real>(dimIndex, value, permuter);
1526 case 315: return math::radical_inverse_permuted<math::table::PRIME[315], real>(dimIndex, value, permuter);
1527 case 316: return math::radical_inverse_permuted<math::table::PRIME[316], real>(dimIndex, value, permuter);
1528 case 317: return math::radical_inverse_permuted<math::table::PRIME[317], real>(dimIndex, value, permuter);
1529 case 318: return math::radical_inverse_permuted<math::table::PRIME[318], real>(dimIndex, value, permuter);
1530 case 319: return math::radical_inverse_permuted<math::table::PRIME[319], real>(dimIndex, value, permuter);
1531 case 320: return math::radical_inverse_permuted<math::table::PRIME[320], real>(dimIndex, value, permuter);
1532 case 321: return math::radical_inverse_permuted<math::table::PRIME[321], real>(dimIndex, value, permuter);
1533 case 322: return math::radical_inverse_permuted<math::table::PRIME[322], real>(dimIndex, value, permuter);
1534 case 323: return math::radical_inverse_permuted<math::table::PRIME[323], real>(dimIndex, value, permuter);
1535 case 324: return math::radical_inverse_permuted<math::table::PRIME[324], real>(dimIndex, value, permuter);
1536 case 325: return math::radical_inverse_permuted<math::table::PRIME[325], real>(dimIndex, value, permuter);
1537 case 326: return math::radical_inverse_permuted<math::table::PRIME[326], real>(dimIndex, value, permuter);
1538 case 327: return math::radical_inverse_permuted<math::table::PRIME[327], real>(dimIndex, value, permuter);
1539 case 328: return math::radical_inverse_permuted<math::table::PRIME[328], real>(dimIndex, value, permuter);
1540 case 329: return math::radical_inverse_permuted<math::table::PRIME[329], real>(dimIndex, value, permuter);
1541 case 330: return math::radical_inverse_permuted<math::table::PRIME[330], real>(dimIndex, value, permuter);
1542 case 331: return math::radical_inverse_permuted<math::table::PRIME[331], real>(dimIndex, value, permuter);
1543 case 332: return math::radical_inverse_permuted<math::table::PRIME[332], real>(dimIndex, value, permuter);
1544 case 333: return math::radical_inverse_permuted<math::table::PRIME[333], real>(dimIndex, value, permuter);
1545 case 334: return math::radical_inverse_permuted<math::table::PRIME[334], real>(dimIndex, value, permuter);
1546 case 335: return math::radical_inverse_permuted<math::table::PRIME[335], real>(dimIndex, value, permuter);
1547 case 336: return math::radical_inverse_permuted<math::table::PRIME[336], real>(dimIndex, value, permuter);
1548 case 337: return math::radical_inverse_permuted<math::table::PRIME[337], real>(dimIndex, value, permuter);
1549 case 338: return math::radical_inverse_permuted<math::table::PRIME[338], real>(dimIndex, value, permuter);
1550 case 339: return math::radical_inverse_permuted<math::table::PRIME[339], real>(dimIndex, value, permuter);
1551 case 340: return math::radical_inverse_permuted<math::table::PRIME[340], real>(dimIndex, value, permuter);
1552 case 341: return math::radical_inverse_permuted<math::table::PRIME[341], real>(dimIndex, value, permuter);
1553 case 342: return math::radical_inverse_permuted<math::table::PRIME[342], real>(dimIndex, value, permuter);
1554 case 343: return math::radical_inverse_permuted<math::table::PRIME[343], real>(dimIndex, value, permuter);
1555 case 344: return math::radical_inverse_permuted<math::table::PRIME[344], real>(dimIndex, value, permuter);
1556 case 345: return math::radical_inverse_permuted<math::table::PRIME[345], real>(dimIndex, value, permuter);
1557 case 346: return math::radical_inverse_permuted<math::table::PRIME[346], real>(dimIndex, value, permuter);
1558 case 347: return math::radical_inverse_permuted<math::table::PRIME[347], real>(dimIndex, value, permuter);
1559 case 348: return math::radical_inverse_permuted<math::table::PRIME[348], real>(dimIndex, value, permuter);
1560 case 349: return math::radical_inverse_permuted<math::table::PRIME[349], real>(dimIndex, value, permuter);
1561 case 350: return math::radical_inverse_permuted<math::table::PRIME[350], real>(dimIndex, value, permuter);
1562 case 351: return math::radical_inverse_permuted<math::table::PRIME[351], real>(dimIndex, value, permuter);
1563 case 352: return math::radical_inverse_permuted<math::table::PRIME[352], real>(dimIndex, value, permuter);
1564 case 353: return math::radical_inverse_permuted<math::table::PRIME[353], real>(dimIndex, value, permuter);
1565 case 354: return math::radical_inverse_permuted<math::table::PRIME[354], real>(dimIndex, value, permuter);
1566 case 355: return math::radical_inverse_permuted<math::table::PRIME[355], real>(dimIndex, value, permuter);
1567 case 356: return math::radical_inverse_permuted<math::table::PRIME[356], real>(dimIndex, value, permuter);
1568 case 357: return math::radical_inverse_permuted<math::table::PRIME[357], real>(dimIndex, value, permuter);
1569 case 358: return math::radical_inverse_permuted<math::table::PRIME[358], real>(dimIndex, value, permuter);
1570 case 359: return math::radical_inverse_permuted<math::table::PRIME[359], real>(dimIndex, value, permuter);
1571 case 360: return math::radical_inverse_permuted<math::table::PRIME[360], real>(dimIndex, value, permuter);
1572 case 361: return math::radical_inverse_permuted<math::table::PRIME[361], real>(dimIndex, value, permuter);
1573 case 362: return math::radical_inverse_permuted<math::table::PRIME[362], real>(dimIndex, value, permuter);
1574 case 363: return math::radical_inverse_permuted<math::table::PRIME[363], real>(dimIndex, value, permuter);
1575 case 364: return math::radical_inverse_permuted<math::table::PRIME[364], real>(dimIndex, value, permuter);
1576 case 365: return math::radical_inverse_permuted<math::table::PRIME[365], real>(dimIndex, value, permuter);
1577 case 366: return math::radical_inverse_permuted<math::table::PRIME[366], real>(dimIndex, value, permuter);
1578 case 367: return math::radical_inverse_permuted<math::table::PRIME[367], real>(dimIndex, value, permuter);
1579 case 368: return math::radical_inverse_permuted<math::table::PRIME[368], real>(dimIndex, value, permuter);
1580 case 369: return math::radical_inverse_permuted<math::table::PRIME[369], real>(dimIndex, value, permuter);
1581 case 370: return math::radical_inverse_permuted<math::table::PRIME[370], real>(dimIndex, value, permuter);
1582 case 371: return math::radical_inverse_permuted<math::table::PRIME[371], real>(dimIndex, value, permuter);
1583 case 372: return math::radical_inverse_permuted<math::table::PRIME[372], real>(dimIndex, value, permuter);
1584 case 373: return math::radical_inverse_permuted<math::table::PRIME[373], real>(dimIndex, value, permuter);
1585 case 374: return math::radical_inverse_permuted<math::table::PRIME[374], real>(dimIndex, value, permuter);
1586 case 375: return math::radical_inverse_permuted<math::table::PRIME[375], real>(dimIndex, value, permuter);
1587 case 376: return math::radical_inverse_permuted<math::table::PRIME[376], real>(dimIndex, value, permuter);
1588 case 377: return math::radical_inverse_permuted<math::table::PRIME[377], real>(dimIndex, value, permuter);
1589 case 378: return math::radical_inverse_permuted<math::table::PRIME[378], real>(dimIndex, value, permuter);
1590 case 379: return math::radical_inverse_permuted<math::table::PRIME[379], real>(dimIndex, value, permuter);
1591 case 380: return math::radical_inverse_permuted<math::table::PRIME[380], real>(dimIndex, value, permuter);
1592 case 381: return math::radical_inverse_permuted<math::table::PRIME[381], real>(dimIndex, value, permuter);
1593 case 382: return math::radical_inverse_permuted<math::table::PRIME[382], real>(dimIndex, value, permuter);
1594 case 383: return math::radical_inverse_permuted<math::table::PRIME[383], real>(dimIndex, value, permuter);
1595 case 384: return math::radical_inverse_permuted<math::table::PRIME[384], real>(dimIndex, value, permuter);
1596 case 385: return math::radical_inverse_permuted<math::table::PRIME[385], real>(dimIndex, value, permuter);
1597 case 386: return math::radical_inverse_permuted<math::table::PRIME[386], real>(dimIndex, value, permuter);
1598 case 387: return math::radical_inverse_permuted<math::table::PRIME[387], real>(dimIndex, value, permuter);
1599 case 388: return math::radical_inverse_permuted<math::table::PRIME[388], real>(dimIndex, value, permuter);
1600 case 389: return math::radical_inverse_permuted<math::table::PRIME[389], real>(dimIndex, value, permuter);
1601 case 390: return math::radical_inverse_permuted<math::table::PRIME[390], real>(dimIndex, value, permuter);
1602 case 391: return math::radical_inverse_permuted<math::table::PRIME[391], real>(dimIndex, value, permuter);
1603 case 392: return math::radical_inverse_permuted<math::table::PRIME[392], real>(dimIndex, value, permuter);
1604 case 393: return math::radical_inverse_permuted<math::table::PRIME[393], real>(dimIndex, value, permuter);
1605 case 394: return math::radical_inverse_permuted<math::table::PRIME[394], real>(dimIndex, value, permuter);
1606 case 395: return math::radical_inverse_permuted<math::table::PRIME[395], real>(dimIndex, value, permuter);
1607 case 396: return math::radical_inverse_permuted<math::table::PRIME[396], real>(dimIndex, value, permuter);
1608 case 397: return math::radical_inverse_permuted<math::table::PRIME[397], real>(dimIndex, value, permuter);
1609 case 398: return math::radical_inverse_permuted<math::table::PRIME[398], real>(dimIndex, value, permuter);
1610 case 399: return math::radical_inverse_permuted<math::table::PRIME[399], real>(dimIndex, value, permuter);
1611 case 400: return math::radical_inverse_permuted<math::table::PRIME[400], real>(dimIndex, value, permuter);
1612 case 401: return math::radical_inverse_permuted<math::table::PRIME[401], real>(dimIndex, value, permuter);
1613 case 402: return math::radical_inverse_permuted<math::table::PRIME[402], real>(dimIndex, value, permuter);
1614 case 403: return math::radical_inverse_permuted<math::table::PRIME[403], real>(dimIndex, value, permuter);
1615 case 404: return math::radical_inverse_permuted<math::table::PRIME[404], real>(dimIndex, value, permuter);
1616 case 405: return math::radical_inverse_permuted<math::table::PRIME[405], real>(dimIndex, value, permuter);
1617 case 406: return math::radical_inverse_permuted<math::table::PRIME[406], real>(dimIndex, value, permuter);
1618 case 407: return math::radical_inverse_permuted<math::table::PRIME[407], real>(dimIndex, value, permuter);
1619 case 408: return math::radical_inverse_permuted<math::table::PRIME[408], real>(dimIndex, value, permuter);
1620 case 409: return math::radical_inverse_permuted<math::table::PRIME[409], real>(dimIndex, value, permuter);
1621 case 410: return math::radical_inverse_permuted<math::table::PRIME[410], real>(dimIndex, value, permuter);
1622 case 411: return math::radical_inverse_permuted<math::table::PRIME[411], real>(dimIndex, value, permuter);
1623 case 412: return math::radical_inverse_permuted<math::table::PRIME[412], real>(dimIndex, value, permuter);
1624 case 413: return math::radical_inverse_permuted<math::table::PRIME[413], real>(dimIndex, value, permuter);
1625 case 414: return math::radical_inverse_permuted<math::table::PRIME[414], real>(dimIndex, value, permuter);
1626 case 415: return math::radical_inverse_permuted<math::table::PRIME[415], real>(dimIndex, value, permuter);
1627 case 416: return math::radical_inverse_permuted<math::table::PRIME[416], real>(dimIndex, value, permuter);
1628 case 417: return math::radical_inverse_permuted<math::table::PRIME[417], real>(dimIndex, value, permuter);
1629 case 418: return math::radical_inverse_permuted<math::table::PRIME[418], real>(dimIndex, value, permuter);
1630 case 419: return math::radical_inverse_permuted<math::table::PRIME[419], real>(dimIndex, value, permuter);
1631 case 420: return math::radical_inverse_permuted<math::table::PRIME[420], real>(dimIndex, value, permuter);
1632 case 421: return math::radical_inverse_permuted<math::table::PRIME[421], real>(dimIndex, value, permuter);
1633 case 422: return math::radical_inverse_permuted<math::table::PRIME[422], real>(dimIndex, value, permuter);
1634 case 423: return math::radical_inverse_permuted<math::table::PRIME[423], real>(dimIndex, value, permuter);
1635 case 424: return math::radical_inverse_permuted<math::table::PRIME[424], real>(dimIndex, value, permuter);
1636 case 425: return math::radical_inverse_permuted<math::table::PRIME[425], real>(dimIndex, value, permuter);
1637 case 426: return math::radical_inverse_permuted<math::table::PRIME[426], real>(dimIndex, value, permuter);
1638 case 427: return math::radical_inverse_permuted<math::table::PRIME[427], real>(dimIndex, value, permuter);
1639 case 428: return math::radical_inverse_permuted<math::table::PRIME[428], real>(dimIndex, value, permuter);
1640 case 429: return math::radical_inverse_permuted<math::table::PRIME[429], real>(dimIndex, value, permuter);
1641 case 430: return math::radical_inverse_permuted<math::table::PRIME[430], real>(dimIndex, value, permuter);
1642 case 431: return math::radical_inverse_permuted<math::table::PRIME[431], real>(dimIndex, value, permuter);
1643 case 432: return math::radical_inverse_permuted<math::table::PRIME[432], real>(dimIndex, value, permuter);
1644 case 433: return math::radical_inverse_permuted<math::table::PRIME[433], real>(dimIndex, value, permuter);
1645 case 434: return math::radical_inverse_permuted<math::table::PRIME[434], real>(dimIndex, value, permuter);
1646 case 435: return math::radical_inverse_permuted<math::table::PRIME[435], real>(dimIndex, value, permuter);
1647 case 436: return math::radical_inverse_permuted<math::table::PRIME[436], real>(dimIndex, value, permuter);
1648 case 437: return math::radical_inverse_permuted<math::table::PRIME[437], real>(dimIndex, value, permuter);
1649 case 438: return math::radical_inverse_permuted<math::table::PRIME[438], real>(dimIndex, value, permuter);
1650 case 439: return math::radical_inverse_permuted<math::table::PRIME[439], real>(dimIndex, value, permuter);
1651 case 440: return math::radical_inverse_permuted<math::table::PRIME[440], real>(dimIndex, value, permuter);
1652 case 441: return math::radical_inverse_permuted<math::table::PRIME[441], real>(dimIndex, value, permuter);
1653 case 442: return math::radical_inverse_permuted<math::table::PRIME[442], real>(dimIndex, value, permuter);
1654 case 443: return math::radical_inverse_permuted<math::table::PRIME[443], real>(dimIndex, value, permuter);
1655 case 444: return math::radical_inverse_permuted<math::table::PRIME[444], real>(dimIndex, value, permuter);
1656 case 445: return math::radical_inverse_permuted<math::table::PRIME[445], real>(dimIndex, value, permuter);
1657 case 446: return math::radical_inverse_permuted<math::table::PRIME[446], real>(dimIndex, value, permuter);
1658 case 447: return math::radical_inverse_permuted<math::table::PRIME[447], real>(dimIndex, value, permuter);
1659 case 448: return math::radical_inverse_permuted<math::table::PRIME[448], real>(dimIndex, value, permuter);
1660 case 449: return math::radical_inverse_permuted<math::table::PRIME[449], real>(dimIndex, value, permuter);
1661 case 450: return math::radical_inverse_permuted<math::table::PRIME[450], real>(dimIndex, value, permuter);
1662 case 451: return math::radical_inverse_permuted<math::table::PRIME[451], real>(dimIndex, value, permuter);
1663 case 452: return math::radical_inverse_permuted<math::table::PRIME[452], real>(dimIndex, value, permuter);
1664 case 453: return math::radical_inverse_permuted<math::table::PRIME[453], real>(dimIndex, value, permuter);
1665 case 454: return math::radical_inverse_permuted<math::table::PRIME[454], real>(dimIndex, value, permuter);
1666 case 455: return math::radical_inverse_permuted<math::table::PRIME[455], real>(dimIndex, value, permuter);
1667 case 456: return math::radical_inverse_permuted<math::table::PRIME[456], real>(dimIndex, value, permuter);
1668 case 457: return math::radical_inverse_permuted<math::table::PRIME[457], real>(dimIndex, value, permuter);
1669 case 458: return math::radical_inverse_permuted<math::table::PRIME[458], real>(dimIndex, value, permuter);
1670 case 459: return math::radical_inverse_permuted<math::table::PRIME[459], real>(dimIndex, value, permuter);
1671 case 460: return math::radical_inverse_permuted<math::table::PRIME[460], real>(dimIndex, value, permuter);
1672 case 461: return math::radical_inverse_permuted<math::table::PRIME[461], real>(dimIndex, value, permuter);
1673 case 462: return math::radical_inverse_permuted<math::table::PRIME[462], real>(dimIndex, value, permuter);
1674 case 463: return math::radical_inverse_permuted<math::table::PRIME[463], real>(dimIndex, value, permuter);
1675 case 464: return math::radical_inverse_permuted<math::table::PRIME[464], real>(dimIndex, value, permuter);
1676 case 465: return math::radical_inverse_permuted<math::table::PRIME[465], real>(dimIndex, value, permuter);
1677 case 466: return math::radical_inverse_permuted<math::table::PRIME[466], real>(dimIndex, value, permuter);
1678 case 467: return math::radical_inverse_permuted<math::table::PRIME[467], real>(dimIndex, value, permuter);
1679 case 468: return math::radical_inverse_permuted<math::table::PRIME[468], real>(dimIndex, value, permuter);
1680 case 469: return math::radical_inverse_permuted<math::table::PRIME[469], real>(dimIndex, value, permuter);
1681 case 470: return math::radical_inverse_permuted<math::table::PRIME[470], real>(dimIndex, value, permuter);
1682 case 471: return math::radical_inverse_permuted<math::table::PRIME[471], real>(dimIndex, value, permuter);
1683 case 472: return math::radical_inverse_permuted<math::table::PRIME[472], real>(dimIndex, value, permuter);
1684 case 473: return math::radical_inverse_permuted<math::table::PRIME[473], real>(dimIndex, value, permuter);
1685 case 474: return math::radical_inverse_permuted<math::table::PRIME[474], real>(dimIndex, value, permuter);
1686 case 475: return math::radical_inverse_permuted<math::table::PRIME[475], real>(dimIndex, value, permuter);
1687 case 476: return math::radical_inverse_permuted<math::table::PRIME[476], real>(dimIndex, value, permuter);
1688 case 477: return math::radical_inverse_permuted<math::table::PRIME[477], real>(dimIndex, value, permuter);
1689 case 478: return math::radical_inverse_permuted<math::table::PRIME[478], real>(dimIndex, value, permuter);
1690 case 479: return math::radical_inverse_permuted<math::table::PRIME[479], real>(dimIndex, value, permuter);
1691 case 480: return math::radical_inverse_permuted<math::table::PRIME[480], real>(dimIndex, value, permuter);
1692 case 481: return math::radical_inverse_permuted<math::table::PRIME[481], real>(dimIndex, value, permuter);
1693 case 482: return math::radical_inverse_permuted<math::table::PRIME[482], real>(dimIndex, value, permuter);
1694 case 483: return math::radical_inverse_permuted<math::table::PRIME[483], real>(dimIndex, value, permuter);
1695 case 484: return math::radical_inverse_permuted<math::table::PRIME[484], real>(dimIndex, value, permuter);
1696 case 485: return math::radical_inverse_permuted<math::table::PRIME[485], real>(dimIndex, value, permuter);
1697 case 486: return math::radical_inverse_permuted<math::table::PRIME[486], real>(dimIndex, value, permuter);
1698 case 487: return math::radical_inverse_permuted<math::table::PRIME[487], real>(dimIndex, value, permuter);
1699 case 488: return math::radical_inverse_permuted<math::table::PRIME[488], real>(dimIndex, value, permuter);
1700 case 489: return math::radical_inverse_permuted<math::table::PRIME[489], real>(dimIndex, value, permuter);
1701 case 490: return math::radical_inverse_permuted<math::table::PRIME[490], real>(dimIndex, value, permuter);
1702 case 491: return math::radical_inverse_permuted<math::table::PRIME[491], real>(dimIndex, value, permuter);
1703 case 492: return math::radical_inverse_permuted<math::table::PRIME[492], real>(dimIndex, value, permuter);
1704 case 493: return math::radical_inverse_permuted<math::table::PRIME[493], real>(dimIndex, value, permuter);
1705 case 494: return math::radical_inverse_permuted<math::table::PRIME[494], real>(dimIndex, value, permuter);
1706 case 495: return math::radical_inverse_permuted<math::table::PRIME[495], real>(dimIndex, value, permuter);
1707 case 496: return math::radical_inverse_permuted<math::table::PRIME[496], real>(dimIndex, value, permuter);
1708 case 497: return math::radical_inverse_permuted<math::table::PRIME[497], real>(dimIndex, value, permuter);
1709 case 498: return math::radical_inverse_permuted<math::table::PRIME[498], real>(dimIndex, value, permuter);
1710 case 499: return math::radical_inverse_permuted<math::table::PRIME[499], real>(dimIndex, value, permuter);
1711 case 500: return math::radical_inverse_permuted<math::table::PRIME[500], real>(dimIndex, value, permuter);
1712 case 501: return math::radical_inverse_permuted<math::table::PRIME[501], real>(dimIndex, value, permuter);
1713 case 502: return math::radical_inverse_permuted<math::table::PRIME[502], real>(dimIndex, value, permuter);
1714 case 503: return math::radical_inverse_permuted<math::table::PRIME[503], real>(dimIndex, value, permuter);
1715 case 504: return math::radical_inverse_permuted<math::table::PRIME[504], real>(dimIndex, value, permuter);
1716 case 505: return math::radical_inverse_permuted<math::table::PRIME[505], real>(dimIndex, value, permuter);
1717 case 506: return math::radical_inverse_permuted<math::table::PRIME[506], real>(dimIndex, value, permuter);
1718 case 507: return math::radical_inverse_permuted<math::table::PRIME[507], real>(dimIndex, value, permuter);
1719 case 508: return math::radical_inverse_permuted<math::table::PRIME[508], real>(dimIndex, value, permuter);
1720 case 509: return math::radical_inverse_permuted<math::table::PRIME[509], real>(dimIndex, value, permuter);
1721 case 510: return math::radical_inverse_permuted<math::table::PRIME[510], real>(dimIndex, value, permuter);
1722 case 511: return math::radical_inverse_permuted<math::table::PRIME[511], real>(dimIndex, value, permuter);
1723 case 512: return math::radical_inverse_permuted<math::table::PRIME[512], real>(dimIndex, value, permuter);
1724 case 513: return math::radical_inverse_permuted<math::table::PRIME[513], real>(dimIndex, value, permuter);
1725 case 514: return math::radical_inverse_permuted<math::table::PRIME[514], real>(dimIndex, value, permuter);
1726 case 515: return math::radical_inverse_permuted<math::table::PRIME[515], real>(dimIndex, value, permuter);
1727 case 516: return math::radical_inverse_permuted<math::table::PRIME[516], real>(dimIndex, value, permuter);
1728 case 517: return math::radical_inverse_permuted<math::table::PRIME[517], real>(dimIndex, value, permuter);
1729 case 518: return math::radical_inverse_permuted<math::table::PRIME[518], real>(dimIndex, value, permuter);
1730 case 519: return math::radical_inverse_permuted<math::table::PRIME[519], real>(dimIndex, value, permuter);
1731 case 520: return math::radical_inverse_permuted<math::table::PRIME[520], real>(dimIndex, value, permuter);
1732 case 521: return math::radical_inverse_permuted<math::table::PRIME[521], real>(dimIndex, value, permuter);
1733 case 522: return math::radical_inverse_permuted<math::table::PRIME[522], real>(dimIndex, value, permuter);
1734 case 523: return math::radical_inverse_permuted<math::table::PRIME[523], real>(dimIndex, value, permuter);
1735 case 524: return math::radical_inverse_permuted<math::table::PRIME[524], real>(dimIndex, value, permuter);
1736 case 525: return math::radical_inverse_permuted<math::table::PRIME[525], real>(dimIndex, value, permuter);
1737 case 526: return math::radical_inverse_permuted<math::table::PRIME[526], real>(dimIndex, value, permuter);
1738 case 527: return math::radical_inverse_permuted<math::table::PRIME[527], real>(dimIndex, value, permuter);
1739 case 528: return math::radical_inverse_permuted<math::table::PRIME[528], real>(dimIndex, value, permuter);
1740 case 529: return math::radical_inverse_permuted<math::table::PRIME[529], real>(dimIndex, value, permuter);
1741 case 530: return math::radical_inverse_permuted<math::table::PRIME[530], real>(dimIndex, value, permuter);
1742 case 531: return math::radical_inverse_permuted<math::table::PRIME[531], real>(dimIndex, value, permuter);
1743 case 532: return math::radical_inverse_permuted<math::table::PRIME[532], real>(dimIndex, value, permuter);
1744 case 533: return math::radical_inverse_permuted<math::table::PRIME[533], real>(dimIndex, value, permuter);
1745 case 534: return math::radical_inverse_permuted<math::table::PRIME[534], real>(dimIndex, value, permuter);
1746 case 535: return math::radical_inverse_permuted<math::table::PRIME[535], real>(dimIndex, value, permuter);
1747 case 536: return math::radical_inverse_permuted<math::table::PRIME[536], real>(dimIndex, value, permuter);
1748 case 537: return math::radical_inverse_permuted<math::table::PRIME[537], real>(dimIndex, value, permuter);
1749 case 538: return math::radical_inverse_permuted<math::table::PRIME[538], real>(dimIndex, value, permuter);
1750 case 539: return math::radical_inverse_permuted<math::table::PRIME[539], real>(dimIndex, value, permuter);
1751 case 540: return math::radical_inverse_permuted<math::table::PRIME[540], real>(dimIndex, value, permuter);
1752 case 541: return math::radical_inverse_permuted<math::table::PRIME[541], real>(dimIndex, value, permuter);
1753 case 542: return math::radical_inverse_permuted<math::table::PRIME[542], real>(dimIndex, value, permuter);
1754 case 543: return math::radical_inverse_permuted<math::table::PRIME[543], real>(dimIndex, value, permuter);
1755 case 544: return math::radical_inverse_permuted<math::table::PRIME[544], real>(dimIndex, value, permuter);
1756 case 545: return math::radical_inverse_permuted<math::table::PRIME[545], real>(dimIndex, value, permuter);
1757 case 546: return math::radical_inverse_permuted<math::table::PRIME[546], real>(dimIndex, value, permuter);
1758 case 547: return math::radical_inverse_permuted<math::table::PRIME[547], real>(dimIndex, value, permuter);
1759 case 548: return math::radical_inverse_permuted<math::table::PRIME[548], real>(dimIndex, value, permuter);
1760 case 549: return math::radical_inverse_permuted<math::table::PRIME[549], real>(dimIndex, value, permuter);
1761 case 550: return math::radical_inverse_permuted<math::table::PRIME[550], real>(dimIndex, value, permuter);
1762 case 551: return math::radical_inverse_permuted<math::table::PRIME[551], real>(dimIndex, value, permuter);
1763 case 552: return math::radical_inverse_permuted<math::table::PRIME[552], real>(dimIndex, value, permuter);
1764 case 553: return math::radical_inverse_permuted<math::table::PRIME[553], real>(dimIndex, value, permuter);
1765 case 554: return math::radical_inverse_permuted<math::table::PRIME[554], real>(dimIndex, value, permuter);
1766 case 555: return math::radical_inverse_permuted<math::table::PRIME[555], real>(dimIndex, value, permuter);
1767 case 556: return math::radical_inverse_permuted<math::table::PRIME[556], real>(dimIndex, value, permuter);
1768 case 557: return math::radical_inverse_permuted<math::table::PRIME[557], real>(dimIndex, value, permuter);
1769 case 558: return math::radical_inverse_permuted<math::table::PRIME[558], real>(dimIndex, value, permuter);
1770 case 559: return math::radical_inverse_permuted<math::table::PRIME[559], real>(dimIndex, value, permuter);
1771 case 560: return math::radical_inverse_permuted<math::table::PRIME[560], real>(dimIndex, value, permuter);
1772 case 561: return math::radical_inverse_permuted<math::table::PRIME[561], real>(dimIndex, value, permuter);
1773 case 562: return math::radical_inverse_permuted<math::table::PRIME[562], real>(dimIndex, value, permuter);
1774 case 563: return math::radical_inverse_permuted<math::table::PRIME[563], real>(dimIndex, value, permuter);
1775 case 564: return math::radical_inverse_permuted<math::table::PRIME[564], real>(dimIndex, value, permuter);
1776 case 565: return math::radical_inverse_permuted<math::table::PRIME[565], real>(dimIndex, value, permuter);
1777 case 566: return math::radical_inverse_permuted<math::table::PRIME[566], real>(dimIndex, value, permuter);
1778 case 567: return math::radical_inverse_permuted<math::table::PRIME[567], real>(dimIndex, value, permuter);
1779 case 568: return math::radical_inverse_permuted<math::table::PRIME[568], real>(dimIndex, value, permuter);
1780 case 569: return math::radical_inverse_permuted<math::table::PRIME[569], real>(dimIndex, value, permuter);
1781 case 570: return math::radical_inverse_permuted<math::table::PRIME[570], real>(dimIndex, value, permuter);
1782 case 571: return math::radical_inverse_permuted<math::table::PRIME[571], real>(dimIndex, value, permuter);
1783 case 572: return math::radical_inverse_permuted<math::table::PRIME[572], real>(dimIndex, value, permuter);
1784 case 573: return math::radical_inverse_permuted<math::table::PRIME[573], real>(dimIndex, value, permuter);
1785 case 574: return math::radical_inverse_permuted<math::table::PRIME[574], real>(dimIndex, value, permuter);
1786 case 575: return math::radical_inverse_permuted<math::table::PRIME[575], real>(dimIndex, value, permuter);
1787 case 576: return math::radical_inverse_permuted<math::table::PRIME[576], real>(dimIndex, value, permuter);
1788 case 577: return math::radical_inverse_permuted<math::table::PRIME[577], real>(dimIndex, value, permuter);
1789 case 578: return math::radical_inverse_permuted<math::table::PRIME[578], real>(dimIndex, value, permuter);
1790 case 579: return math::radical_inverse_permuted<math::table::PRIME[579], real>(dimIndex, value, permuter);
1791 case 580: return math::radical_inverse_permuted<math::table::PRIME[580], real>(dimIndex, value, permuter);
1792 case 581: return math::radical_inverse_permuted<math::table::PRIME[581], real>(dimIndex, value, permuter);
1793 case 582: return math::radical_inverse_permuted<math::table::PRIME[582], real>(dimIndex, value, permuter);
1794 case 583: return math::radical_inverse_permuted<math::table::PRIME[583], real>(dimIndex, value, permuter);
1795 case 584: return math::radical_inverse_permuted<math::table::PRIME[584], real>(dimIndex, value, permuter);
1796 case 585: return math::radical_inverse_permuted<math::table::PRIME[585], real>(dimIndex, value, permuter);
1797 case 586: return math::radical_inverse_permuted<math::table::PRIME[586], real>(dimIndex, value, permuter);
1798 case 587: return math::radical_inverse_permuted<math::table::PRIME[587], real>(dimIndex, value, permuter);
1799 case 588: return math::radical_inverse_permuted<math::table::PRIME[588], real>(dimIndex, value, permuter);
1800 case 589: return math::radical_inverse_permuted<math::table::PRIME[589], real>(dimIndex, value, permuter);
1801 case 590: return math::radical_inverse_permuted<math::table::PRIME[590], real>(dimIndex, value, permuter);
1802 case 591: return math::radical_inverse_permuted<math::table::PRIME[591], real>(dimIndex, value, permuter);
1803 case 592: return math::radical_inverse_permuted<math::table::PRIME[592], real>(dimIndex, value, permuter);
1804 case 593: return math::radical_inverse_permuted<math::table::PRIME[593], real>(dimIndex, value, permuter);
1805 case 594: return math::radical_inverse_permuted<math::table::PRIME[594], real>(dimIndex, value, permuter);
1806 case 595: return math::radical_inverse_permuted<math::table::PRIME[595], real>(dimIndex, value, permuter);
1807 case 596: return math::radical_inverse_permuted<math::table::PRIME[596], real>(dimIndex, value, permuter);
1808 case 597: return math::radical_inverse_permuted<math::table::PRIME[597], real>(dimIndex, value, permuter);
1809 case 598: return math::radical_inverse_permuted<math::table::PRIME[598], real>(dimIndex, value, permuter);
1810 case 599: return math::radical_inverse_permuted<math::table::PRIME[599], real>(dimIndex, value, permuter);
1811 case 600: return math::radical_inverse_permuted<math::table::PRIME[600], real>(dimIndex, value, permuter);
1812 case 601: return math::radical_inverse_permuted<math::table::PRIME[601], real>(dimIndex, value, permuter);
1813 case 602: return math::radical_inverse_permuted<math::table::PRIME[602], real>(dimIndex, value, permuter);
1814 case 603: return math::radical_inverse_permuted<math::table::PRIME[603], real>(dimIndex, value, permuter);
1815 case 604: return math::radical_inverse_permuted<math::table::PRIME[604], real>(dimIndex, value, permuter);
1816 case 605: return math::radical_inverse_permuted<math::table::PRIME[605], real>(dimIndex, value, permuter);
1817 case 606: return math::radical_inverse_permuted<math::table::PRIME[606], real>(dimIndex, value, permuter);
1818 case 607: return math::radical_inverse_permuted<math::table::PRIME[607], real>(dimIndex, value, permuter);
1819 case 608: return math::radical_inverse_permuted<math::table::PRIME[608], real>(dimIndex, value, permuter);
1820 case 609: return math::radical_inverse_permuted<math::table::PRIME[609], real>(dimIndex, value, permuter);
1821 case 610: return math::radical_inverse_permuted<math::table::PRIME[610], real>(dimIndex, value, permuter);
1822 case 611: return math::radical_inverse_permuted<math::table::PRIME[611], real>(dimIndex, value, permuter);
1823 case 612: return math::radical_inverse_permuted<math::table::PRIME[612], real>(dimIndex, value, permuter);
1824 case 613: return math::radical_inverse_permuted<math::table::PRIME[613], real>(dimIndex, value, permuter);
1825 case 614: return math::radical_inverse_permuted<math::table::PRIME[614], real>(dimIndex, value, permuter);
1826 case 615: return math::radical_inverse_permuted<math::table::PRIME[615], real>(dimIndex, value, permuter);
1827 case 616: return math::radical_inverse_permuted<math::table::PRIME[616], real>(dimIndex, value, permuter);
1828 case 617: return math::radical_inverse_permuted<math::table::PRIME[617], real>(dimIndex, value, permuter);
1829 case 618: return math::radical_inverse_permuted<math::table::PRIME[618], real>(dimIndex, value, permuter);
1830 case 619: return math::radical_inverse_permuted<math::table::PRIME[619], real>(dimIndex, value, permuter);
1831 case 620: return math::radical_inverse_permuted<math::table::PRIME[620], real>(dimIndex, value, permuter);
1832 case 621: return math::radical_inverse_permuted<math::table::PRIME[621], real>(dimIndex, value, permuter);
1833 case 622: return math::radical_inverse_permuted<math::table::PRIME[622], real>(dimIndex, value, permuter);
1834 case 623: return math::radical_inverse_permuted<math::table::PRIME[623], real>(dimIndex, value, permuter);
1835 case 624: return math::radical_inverse_permuted<math::table::PRIME[624], real>(dimIndex, value, permuter);
1836 case 625: return math::radical_inverse_permuted<math::table::PRIME[625], real>(dimIndex, value, permuter);
1837 case 626: return math::radical_inverse_permuted<math::table::PRIME[626], real>(dimIndex, value, permuter);
1838 case 627: return math::radical_inverse_permuted<math::table::PRIME[627], real>(dimIndex, value, permuter);
1839 case 628: return math::radical_inverse_permuted<math::table::PRIME[628], real>(dimIndex, value, permuter);
1840 case 629: return math::radical_inverse_permuted<math::table::PRIME[629], real>(dimIndex, value, permuter);
1841 case 630: return math::radical_inverse_permuted<math::table::PRIME[630], real>(dimIndex, value, permuter);
1842 case 631: return math::radical_inverse_permuted<math::table::PRIME[631], real>(dimIndex, value, permuter);
1843 case 632: return math::radical_inverse_permuted<math::table::PRIME[632], real>(dimIndex, value, permuter);
1844 case 633: return math::radical_inverse_permuted<math::table::PRIME[633], real>(dimIndex, value, permuter);
1845 case 634: return math::radical_inverse_permuted<math::table::PRIME[634], real>(dimIndex, value, permuter);
1846 case 635: return math::radical_inverse_permuted<math::table::PRIME[635], real>(dimIndex, value, permuter);
1847 case 636: return math::radical_inverse_permuted<math::table::PRIME[636], real>(dimIndex, value, permuter);
1848 case 637: return math::radical_inverse_permuted<math::table::PRIME[637], real>(dimIndex, value, permuter);
1849 case 638: return math::radical_inverse_permuted<math::table::PRIME[638], real>(dimIndex, value, permuter);
1850 case 639: return math::radical_inverse_permuted<math::table::PRIME[639], real>(dimIndex, value, permuter);
1851 case 640: return math::radical_inverse_permuted<math::table::PRIME[640], real>(dimIndex, value, permuter);
1852 case 641: return math::radical_inverse_permuted<math::table::PRIME[641], real>(dimIndex, value, permuter);
1853 case 642: return math::radical_inverse_permuted<math::table::PRIME[642], real>(dimIndex, value, permuter);
1854 case 643: return math::radical_inverse_permuted<math::table::PRIME[643], real>(dimIndex, value, permuter);
1855 case 644: return math::radical_inverse_permuted<math::table::PRIME[644], real>(dimIndex, value, permuter);
1856 case 645: return math::radical_inverse_permuted<math::table::PRIME[645], real>(dimIndex, value, permuter);
1857 case 646: return math::radical_inverse_permuted<math::table::PRIME[646], real>(dimIndex, value, permuter);
1858 case 647: return math::radical_inverse_permuted<math::table::PRIME[647], real>(dimIndex, value, permuter);
1859 case 648: return math::radical_inverse_permuted<math::table::PRIME[648], real>(dimIndex, value, permuter);
1860 case 649: return math::radical_inverse_permuted<math::table::PRIME[649], real>(dimIndex, value, permuter);
1861 case 650: return math::radical_inverse_permuted<math::table::PRIME[650], real>(dimIndex, value, permuter);
1862 case 651: return math::radical_inverse_permuted<math::table::PRIME[651], real>(dimIndex, value, permuter);
1863 case 652: return math::radical_inverse_permuted<math::table::PRIME[652], real>(dimIndex, value, permuter);
1864 case 653: return math::radical_inverse_permuted<math::table::PRIME[653], real>(dimIndex, value, permuter);
1865 case 654: return math::radical_inverse_permuted<math::table::PRIME[654], real>(dimIndex, value, permuter);
1866 case 655: return math::radical_inverse_permuted<math::table::PRIME[655], real>(dimIndex, value, permuter);
1867 case 656: return math::radical_inverse_permuted<math::table::PRIME[656], real>(dimIndex, value, permuter);
1868 case 657: return math::radical_inverse_permuted<math::table::PRIME[657], real>(dimIndex, value, permuter);
1869 case 658: return math::radical_inverse_permuted<math::table::PRIME[658], real>(dimIndex, value, permuter);
1870 case 659: return math::radical_inverse_permuted<math::table::PRIME[659], real>(dimIndex, value, permuter);
1871 case 660: return math::radical_inverse_permuted<math::table::PRIME[660], real>(dimIndex, value, permuter);
1872 case 661: return math::radical_inverse_permuted<math::table::PRIME[661], real>(dimIndex, value, permuter);
1873 case 662: return math::radical_inverse_permuted<math::table::PRIME[662], real>(dimIndex, value, permuter);
1874 case 663: return math::radical_inverse_permuted<math::table::PRIME[663], real>(dimIndex, value, permuter);
1875 case 664: return math::radical_inverse_permuted<math::table::PRIME[664], real>(dimIndex, value, permuter);
1876 case 665: return math::radical_inverse_permuted<math::table::PRIME[665], real>(dimIndex, value, permuter);
1877 case 666: return math::radical_inverse_permuted<math::table::PRIME[666], real>(dimIndex, value, permuter);
1878 case 667: return math::radical_inverse_permuted<math::table::PRIME[667], real>(dimIndex, value, permuter);
1879 case 668: return math::radical_inverse_permuted<math::table::PRIME[668], real>(dimIndex, value, permuter);
1880 case 669: return math::radical_inverse_permuted<math::table::PRIME[669], real>(dimIndex, value, permuter);
1881 case 670: return math::radical_inverse_permuted<math::table::PRIME[670], real>(dimIndex, value, permuter);
1882 case 671: return math::radical_inverse_permuted<math::table::PRIME[671], real>(dimIndex, value, permuter);
1883 case 672: return math::radical_inverse_permuted<math::table::PRIME[672], real>(dimIndex, value, permuter);
1884 case 673: return math::radical_inverse_permuted<math::table::PRIME[673], real>(dimIndex, value, permuter);
1885 case 674: return math::radical_inverse_permuted<math::table::PRIME[674], real>(dimIndex, value, permuter);
1886 case 675: return math::radical_inverse_permuted<math::table::PRIME[675], real>(dimIndex, value, permuter);
1887 case 676: return math::radical_inverse_permuted<math::table::PRIME[676], real>(dimIndex, value, permuter);
1888 case 677: return math::radical_inverse_permuted<math::table::PRIME[677], real>(dimIndex, value, permuter);
1889 case 678: return math::radical_inverse_permuted<math::table::PRIME[678], real>(dimIndex, value, permuter);
1890 case 679: return math::radical_inverse_permuted<math::table::PRIME[679], real>(dimIndex, value, permuter);
1891 case 680: return math::radical_inverse_permuted<math::table::PRIME[680], real>(dimIndex, value, permuter);
1892 case 681: return math::radical_inverse_permuted<math::table::PRIME[681], real>(dimIndex, value, permuter);
1893 case 682: return math::radical_inverse_permuted<math::table::PRIME[682], real>(dimIndex, value, permuter);
1894 case 683: return math::radical_inverse_permuted<math::table::PRIME[683], real>(dimIndex, value, permuter);
1895 case 684: return math::radical_inverse_permuted<math::table::PRIME[684], real>(dimIndex, value, permuter);
1896 case 685: return math::radical_inverse_permuted<math::table::PRIME[685], real>(dimIndex, value, permuter);
1897 case 686: return math::radical_inverse_permuted<math::table::PRIME[686], real>(dimIndex, value, permuter);
1898 case 687: return math::radical_inverse_permuted<math::table::PRIME[687], real>(dimIndex, value, permuter);
1899 case 688: return math::radical_inverse_permuted<math::table::PRIME[688], real>(dimIndex, value, permuter);
1900 case 689: return math::radical_inverse_permuted<math::table::PRIME[689], real>(dimIndex, value, permuter);
1901 case 690: return math::radical_inverse_permuted<math::table::PRIME[690], real>(dimIndex, value, permuter);
1902 case 691: return math::radical_inverse_permuted<math::table::PRIME[691], real>(dimIndex, value, permuter);
1903 case 692: return math::radical_inverse_permuted<math::table::PRIME[692], real>(dimIndex, value, permuter);
1904 case 693: return math::radical_inverse_permuted<math::table::PRIME[693], real>(dimIndex, value, permuter);
1905 case 694: return math::radical_inverse_permuted<math::table::PRIME[694], real>(dimIndex, value, permuter);
1906 case 695: return math::radical_inverse_permuted<math::table::PRIME[695], real>(dimIndex, value, permuter);
1907 case 696: return math::radical_inverse_permuted<math::table::PRIME[696], real>(dimIndex, value, permuter);
1908 case 697: return math::radical_inverse_permuted<math::table::PRIME[697], real>(dimIndex, value, permuter);
1909 case 698: return math::radical_inverse_permuted<math::table::PRIME[698], real>(dimIndex, value, permuter);
1910 case 699: return math::radical_inverse_permuted<math::table::PRIME[699], real>(dimIndex, value, permuter);
1911 case 700: return math::radical_inverse_permuted<math::table::PRIME[700], real>(dimIndex, value, permuter);
1912 case 701: return math::radical_inverse_permuted<math::table::PRIME[701], real>(dimIndex, value, permuter);
1913 case 702: return math::radical_inverse_permuted<math::table::PRIME[702], real>(dimIndex, value, permuter);
1914 case 703: return math::radical_inverse_permuted<math::table::PRIME[703], real>(dimIndex, value, permuter);
1915 case 704: return math::radical_inverse_permuted<math::table::PRIME[704], real>(dimIndex, value, permuter);
1916 case 705: return math::radical_inverse_permuted<math::table::PRIME[705], real>(dimIndex, value, permuter);
1917 case 706: return math::radical_inverse_permuted<math::table::PRIME[706], real>(dimIndex, value, permuter);
1918 case 707: return math::radical_inverse_permuted<math::table::PRIME[707], real>(dimIndex, value, permuter);
1919 case 708: return math::radical_inverse_permuted<math::table::PRIME[708], real>(dimIndex, value, permuter);
1920 case 709: return math::radical_inverse_permuted<math::table::PRIME[709], real>(dimIndex, value, permuter);
1921 case 710: return math::radical_inverse_permuted<math::table::PRIME[710], real>(dimIndex, value, permuter);
1922 case 711: return math::radical_inverse_permuted<math::table::PRIME[711], real>(dimIndex, value, permuter);
1923 case 712: return math::radical_inverse_permuted<math::table::PRIME[712], real>(dimIndex, value, permuter);
1924 case 713: return math::radical_inverse_permuted<math::table::PRIME[713], real>(dimIndex, value, permuter);
1925 case 714: return math::radical_inverse_permuted<math::table::PRIME[714], real>(dimIndex, value, permuter);
1926 case 715: return math::radical_inverse_permuted<math::table::PRIME[715], real>(dimIndex, value, permuter);
1927 case 716: return math::radical_inverse_permuted<math::table::PRIME[716], real>(dimIndex, value, permuter);
1928 case 717: return math::radical_inverse_permuted<math::table::PRIME[717], real>(dimIndex, value, permuter);
1929 case 718: return math::radical_inverse_permuted<math::table::PRIME[718], real>(dimIndex, value, permuter);
1930 case 719: return math::radical_inverse_permuted<math::table::PRIME[719], real>(dimIndex, value, permuter);
1931 case 720: return math::radical_inverse_permuted<math::table::PRIME[720], real>(dimIndex, value, permuter);
1932 case 721: return math::radical_inverse_permuted<math::table::PRIME[721], real>(dimIndex, value, permuter);
1933 case 722: return math::radical_inverse_permuted<math::table::PRIME[722], real>(dimIndex, value, permuter);
1934 case 723: return math::radical_inverse_permuted<math::table::PRIME[723], real>(dimIndex, value, permuter);
1935 case 724: return math::radical_inverse_permuted<math::table::PRIME[724], real>(dimIndex, value, permuter);
1936 case 725: return math::radical_inverse_permuted<math::table::PRIME[725], real>(dimIndex, value, permuter);
1937 case 726: return math::radical_inverse_permuted<math::table::PRIME[726], real>(dimIndex, value, permuter);
1938 case 727: return math::radical_inverse_permuted<math::table::PRIME[727], real>(dimIndex, value, permuter);
1939 case 728: return math::radical_inverse_permuted<math::table::PRIME[728], real>(dimIndex, value, permuter);
1940 case 729: return math::radical_inverse_permuted<math::table::PRIME[729], real>(dimIndex, value, permuter);
1941 case 730: return math::radical_inverse_permuted<math::table::PRIME[730], real>(dimIndex, value, permuter);
1942 case 731: return math::radical_inverse_permuted<math::table::PRIME[731], real>(dimIndex, value, permuter);
1943 case 732: return math::radical_inverse_permuted<math::table::PRIME[732], real>(dimIndex, value, permuter);
1944 case 733: return math::radical_inverse_permuted<math::table::PRIME[733], real>(dimIndex, value, permuter);
1945 case 734: return math::radical_inverse_permuted<math::table::PRIME[734], real>(dimIndex, value, permuter);
1946 case 735: return math::radical_inverse_permuted<math::table::PRIME[735], real>(dimIndex, value, permuter);
1947 case 736: return math::radical_inverse_permuted<math::table::PRIME[736], real>(dimIndex, value, permuter);
1948 case 737: return math::radical_inverse_permuted<math::table::PRIME[737], real>(dimIndex, value, permuter);
1949 case 738: return math::radical_inverse_permuted<math::table::PRIME[738], real>(dimIndex, value, permuter);
1950 case 739: return math::radical_inverse_permuted<math::table::PRIME[739], real>(dimIndex, value, permuter);
1951 case 740: return math::radical_inverse_permuted<math::table::PRIME[740], real>(dimIndex, value, permuter);
1952 case 741: return math::radical_inverse_permuted<math::table::PRIME[741], real>(dimIndex, value, permuter);
1953 case 742: return math::radical_inverse_permuted<math::table::PRIME[742], real>(dimIndex, value, permuter);
1954 case 743: return math::radical_inverse_permuted<math::table::PRIME[743], real>(dimIndex, value, permuter);
1955 case 744: return math::radical_inverse_permuted<math::table::PRIME[744], real>(dimIndex, value, permuter);
1956 case 745: return math::radical_inverse_permuted<math::table::PRIME[745], real>(dimIndex, value, permuter);
1957 case 746: return math::radical_inverse_permuted<math::table::PRIME[746], real>(dimIndex, value, permuter);
1958 case 747: return math::radical_inverse_permuted<math::table::PRIME[747], real>(dimIndex, value, permuter);
1959 case 748: return math::radical_inverse_permuted<math::table::PRIME[748], real>(dimIndex, value, permuter);
1960 case 749: return math::radical_inverse_permuted<math::table::PRIME[749], real>(dimIndex, value, permuter);
1961 case 750: return math::radical_inverse_permuted<math::table::PRIME[750], real>(dimIndex, value, permuter);
1962 case 751: return math::radical_inverse_permuted<math::table::PRIME[751], real>(dimIndex, value, permuter);
1963 case 752: return math::radical_inverse_permuted<math::table::PRIME[752], real>(dimIndex, value, permuter);
1964 case 753: return math::radical_inverse_permuted<math::table::PRIME[753], real>(dimIndex, value, permuter);
1965 case 754: return math::radical_inverse_permuted<math::table::PRIME[754], real>(dimIndex, value, permuter);
1966 case 755: return math::radical_inverse_permuted<math::table::PRIME[755], real>(dimIndex, value, permuter);
1967 case 756: return math::radical_inverse_permuted<math::table::PRIME[756], real>(dimIndex, value, permuter);
1968 case 757: return math::radical_inverse_permuted<math::table::PRIME[757], real>(dimIndex, value, permuter);
1969 case 758: return math::radical_inverse_permuted<math::table::PRIME[758], real>(dimIndex, value, permuter);
1970 case 759: return math::radical_inverse_permuted<math::table::PRIME[759], real>(dimIndex, value, permuter);
1971 case 760: return math::radical_inverse_permuted<math::table::PRIME[760], real>(dimIndex, value, permuter);
1972 case 761: return math::radical_inverse_permuted<math::table::PRIME[761], real>(dimIndex, value, permuter);
1973 case 762: return math::radical_inverse_permuted<math::table::PRIME[762], real>(dimIndex, value, permuter);
1974 case 763: return math::radical_inverse_permuted<math::table::PRIME[763], real>(dimIndex, value, permuter);
1975 case 764: return math::radical_inverse_permuted<math::table::PRIME[764], real>(dimIndex, value, permuter);
1976 case 765: return math::radical_inverse_permuted<math::table::PRIME[765], real>(dimIndex, value, permuter);
1977 case 766: return math::radical_inverse_permuted<math::table::PRIME[766], real>(dimIndex, value, permuter);
1978 case 767: return math::radical_inverse_permuted<math::table::PRIME[767], real>(dimIndex, value, permuter);
1979 case 768: return math::radical_inverse_permuted<math::table::PRIME[768], real>(dimIndex, value, permuter);
1980 case 769: return math::radical_inverse_permuted<math::table::PRIME[769], real>(dimIndex, value, permuter);
1981 case 770: return math::radical_inverse_permuted<math::table::PRIME[770], real>(dimIndex, value, permuter);
1982 case 771: return math::radical_inverse_permuted<math::table::PRIME[771], real>(dimIndex, value, permuter);
1983 case 772: return math::radical_inverse_permuted<math::table::PRIME[772], real>(dimIndex, value, permuter);
1984 case 773: return math::radical_inverse_permuted<math::table::PRIME[773], real>(dimIndex, value, permuter);
1985 case 774: return math::radical_inverse_permuted<math::table::PRIME[774], real>(dimIndex, value, permuter);
1986 case 775: return math::radical_inverse_permuted<math::table::PRIME[775], real>(dimIndex, value, permuter);
1987 case 776: return math::radical_inverse_permuted<math::table::PRIME[776], real>(dimIndex, value, permuter);
1988 case 777: return math::radical_inverse_permuted<math::table::PRIME[777], real>(dimIndex, value, permuter);
1989 case 778: return math::radical_inverse_permuted<math::table::PRIME[778], real>(dimIndex, value, permuter);
1990 case 779: return math::radical_inverse_permuted<math::table::PRIME[779], real>(dimIndex, value, permuter);
1991 case 780: return math::radical_inverse_permuted<math::table::PRIME[780], real>(dimIndex, value, permuter);
1992 case 781: return math::radical_inverse_permuted<math::table::PRIME[781], real>(dimIndex, value, permuter);
1993 case 782: return math::radical_inverse_permuted<math::table::PRIME[782], real>(dimIndex, value, permuter);
1994 case 783: return math::radical_inverse_permuted<math::table::PRIME[783], real>(dimIndex, value, permuter);
1995 case 784: return math::radical_inverse_permuted<math::table::PRIME[784], real>(dimIndex, value, permuter);
1996 case 785: return math::radical_inverse_permuted<math::table::PRIME[785], real>(dimIndex, value, permuter);
1997 case 786: return math::radical_inverse_permuted<math::table::PRIME[786], real>(dimIndex, value, permuter);
1998 case 787: return math::radical_inverse_permuted<math::table::PRIME[787], real>(dimIndex, value, permuter);
1999 case 788: return math::radical_inverse_permuted<math::table::PRIME[788], real>(dimIndex, value, permuter);
2000 case 789: return math::radical_inverse_permuted<math::table::PRIME[789], real>(dimIndex, value, permuter);
2001 case 790: return math::radical_inverse_permuted<math::table::PRIME[790], real>(dimIndex, value, permuter);
2002 case 791: return math::radical_inverse_permuted<math::table::PRIME[791], real>(dimIndex, value, permuter);
2003 case 792: return math::radical_inverse_permuted<math::table::PRIME[792], real>(dimIndex, value, permuter);
2004 case 793: return math::radical_inverse_permuted<math::table::PRIME[793], real>(dimIndex, value, permuter);
2005 case 794: return math::radical_inverse_permuted<math::table::PRIME[794], real>(dimIndex, value, permuter);
2006 case 795: return math::radical_inverse_permuted<math::table::PRIME[795], real>(dimIndex, value, permuter);
2007 case 796: return math::radical_inverse_permuted<math::table::PRIME[796], real>(dimIndex, value, permuter);
2008 case 797: return math::radical_inverse_permuted<math::table::PRIME[797], real>(dimIndex, value, permuter);
2009 case 798: return math::radical_inverse_permuted<math::table::PRIME[798], real>(dimIndex, value, permuter);
2010 case 799: return math::radical_inverse_permuted<math::table::PRIME[799], real>(dimIndex, value, permuter);
2011 case 800: return math::radical_inverse_permuted<math::table::PRIME[800], real>(dimIndex, value, permuter);
2012 case 801: return math::radical_inverse_permuted<math::table::PRIME[801], real>(dimIndex, value, permuter);
2013 case 802: return math::radical_inverse_permuted<math::table::PRIME[802], real>(dimIndex, value, permuter);
2014 case 803: return math::radical_inverse_permuted<math::table::PRIME[803], real>(dimIndex, value, permuter);
2015 case 804: return math::radical_inverse_permuted<math::table::PRIME[804], real>(dimIndex, value, permuter);
2016 case 805: return math::radical_inverse_permuted<math::table::PRIME[805], real>(dimIndex, value, permuter);
2017 case 806: return math::radical_inverse_permuted<math::table::PRIME[806], real>(dimIndex, value, permuter);
2018 case 807: return math::radical_inverse_permuted<math::table::PRIME[807], real>(dimIndex, value, permuter);
2019 case 808: return math::radical_inverse_permuted<math::table::PRIME[808], real>(dimIndex, value, permuter);
2020 case 809: return math::radical_inverse_permuted<math::table::PRIME[809], real>(dimIndex, value, permuter);
2021 case 810: return math::radical_inverse_permuted<math::table::PRIME[810], real>(dimIndex, value, permuter);
2022 case 811: return math::radical_inverse_permuted<math::table::PRIME[811], real>(dimIndex, value, permuter);
2023 case 812: return math::radical_inverse_permuted<math::table::PRIME[812], real>(dimIndex, value, permuter);
2024 case 813: return math::radical_inverse_permuted<math::table::PRIME[813], real>(dimIndex, value, permuter);
2025 case 814: return math::radical_inverse_permuted<math::table::PRIME[814], real>(dimIndex, value, permuter);
2026 case 815: return math::radical_inverse_permuted<math::table::PRIME[815], real>(dimIndex, value, permuter);
2027 case 816: return math::radical_inverse_permuted<math::table::PRIME[816], real>(dimIndex, value, permuter);
2028 case 817: return math::radical_inverse_permuted<math::table::PRIME[817], real>(dimIndex, value, permuter);
2029 case 818: return math::radical_inverse_permuted<math::table::PRIME[818], real>(dimIndex, value, permuter);
2030 case 819: return math::radical_inverse_permuted<math::table::PRIME[819], real>(dimIndex, value, permuter);
2031 case 820: return math::radical_inverse_permuted<math::table::PRIME[820], real>(dimIndex, value, permuter);
2032 case 821: return math::radical_inverse_permuted<math::table::PRIME[821], real>(dimIndex, value, permuter);
2033 case 822: return math::radical_inverse_permuted<math::table::PRIME[822], real>(dimIndex, value, permuter);
2034 case 823: return math::radical_inverse_permuted<math::table::PRIME[823], real>(dimIndex, value, permuter);
2035 case 824: return math::radical_inverse_permuted<math::table::PRIME[824], real>(dimIndex, value, permuter);
2036 case 825: return math::radical_inverse_permuted<math::table::PRIME[825], real>(dimIndex, value, permuter);
2037 case 826: return math::radical_inverse_permuted<math::table::PRIME[826], real>(dimIndex, value, permuter);
2038 case 827: return math::radical_inverse_permuted<math::table::PRIME[827], real>(dimIndex, value, permuter);
2039 case 828: return math::radical_inverse_permuted<math::table::PRIME[828], real>(dimIndex, value, permuter);
2040 case 829: return math::radical_inverse_permuted<math::table::PRIME[829], real>(dimIndex, value, permuter);
2041 case 830: return math::radical_inverse_permuted<math::table::PRIME[830], real>(dimIndex, value, permuter);
2042 case 831: return math::radical_inverse_permuted<math::table::PRIME[831], real>(dimIndex, value, permuter);
2043 case 832: return math::radical_inverse_permuted<math::table::PRIME[832], real>(dimIndex, value, permuter);
2044 case 833: return math::radical_inverse_permuted<math::table::PRIME[833], real>(dimIndex, value, permuter);
2045 case 834: return math::radical_inverse_permuted<math::table::PRIME[834], real>(dimIndex, value, permuter);
2046 case 835: return math::radical_inverse_permuted<math::table::PRIME[835], real>(dimIndex, value, permuter);
2047 case 836: return math::radical_inverse_permuted<math::table::PRIME[836], real>(dimIndex, value, permuter);
2048 case 837: return math::radical_inverse_permuted<math::table::PRIME[837], real>(dimIndex, value, permuter);
2049 case 838: return math::radical_inverse_permuted<math::table::PRIME[838], real>(dimIndex, value, permuter);
2050 case 839: return math::radical_inverse_permuted<math::table::PRIME[839], real>(dimIndex, value, permuter);
2051 case 840: return math::radical_inverse_permuted<math::table::PRIME[840], real>(dimIndex, value, permuter);
2052 case 841: return math::radical_inverse_permuted<math::table::PRIME[841], real>(dimIndex, value, permuter);
2053 case 842: return math::radical_inverse_permuted<math::table::PRIME[842], real>(dimIndex, value, permuter);
2054 case 843: return math::radical_inverse_permuted<math::table::PRIME[843], real>(dimIndex, value, permuter);
2055 case 844: return math::radical_inverse_permuted<math::table::PRIME[844], real>(dimIndex, value, permuter);
2056 case 845: return math::radical_inverse_permuted<math::table::PRIME[845], real>(dimIndex, value, permuter);
2057 case 846: return math::radical_inverse_permuted<math::table::PRIME[846], real>(dimIndex, value, permuter);
2058 case 847: return math::radical_inverse_permuted<math::table::PRIME[847], real>(dimIndex, value, permuter);
2059 case 848: return math::radical_inverse_permuted<math::table::PRIME[848], real>(dimIndex, value, permuter);
2060 case 849: return math::radical_inverse_permuted<math::table::PRIME[849], real>(dimIndex, value, permuter);
2061 case 850: return math::radical_inverse_permuted<math::table::PRIME[850], real>(dimIndex, value, permuter);
2062 case 851: return math::radical_inverse_permuted<math::table::PRIME[851], real>(dimIndex, value, permuter);
2063 case 852: return math::radical_inverse_permuted<math::table::PRIME[852], real>(dimIndex, value, permuter);
2064 case 853: return math::radical_inverse_permuted<math::table::PRIME[853], real>(dimIndex, value, permuter);
2065 case 854: return math::radical_inverse_permuted<math::table::PRIME[854], real>(dimIndex, value, permuter);
2066 case 855: return math::radical_inverse_permuted<math::table::PRIME[855], real>(dimIndex, value, permuter);
2067 case 856: return math::radical_inverse_permuted<math::table::PRIME[856], real>(dimIndex, value, permuter);
2068 case 857: return math::radical_inverse_permuted<math::table::PRIME[857], real>(dimIndex, value, permuter);
2069 case 858: return math::radical_inverse_permuted<math::table::PRIME[858], real>(dimIndex, value, permuter);
2070 case 859: return math::radical_inverse_permuted<math::table::PRIME[859], real>(dimIndex, value, permuter);
2071 case 860: return math::radical_inverse_permuted<math::table::PRIME[860], real>(dimIndex, value, permuter);
2072 case 861: return math::radical_inverse_permuted<math::table::PRIME[861], real>(dimIndex, value, permuter);
2073 case 862: return math::radical_inverse_permuted<math::table::PRIME[862], real>(dimIndex, value, permuter);
2074 case 863: return math::radical_inverse_permuted<math::table::PRIME[863], real>(dimIndex, value, permuter);
2075 case 864: return math::radical_inverse_permuted<math::table::PRIME[864], real>(dimIndex, value, permuter);
2076 case 865: return math::radical_inverse_permuted<math::table::PRIME[865], real>(dimIndex, value, permuter);
2077 case 866: return math::radical_inverse_permuted<math::table::PRIME[866], real>(dimIndex, value, permuter);
2078 case 867: return math::radical_inverse_permuted<math::table::PRIME[867], real>(dimIndex, value, permuter);
2079 case 868: return math::radical_inverse_permuted<math::table::PRIME[868], real>(dimIndex, value, permuter);
2080 case 869: return math::radical_inverse_permuted<math::table::PRIME[869], real>(dimIndex, value, permuter);
2081 case 870: return math::radical_inverse_permuted<math::table::PRIME[870], real>(dimIndex, value, permuter);
2082 case 871: return math::radical_inverse_permuted<math::table::PRIME[871], real>(dimIndex, value, permuter);
2083 case 872: return math::radical_inverse_permuted<math::table::PRIME[872], real>(dimIndex, value, permuter);
2084 case 873: return math::radical_inverse_permuted<math::table::PRIME[873], real>(dimIndex, value, permuter);
2085 case 874: return math::radical_inverse_permuted<math::table::PRIME[874], real>(dimIndex, value, permuter);
2086 case 875: return math::radical_inverse_permuted<math::table::PRIME[875], real>(dimIndex, value, permuter);
2087 case 876: return math::radical_inverse_permuted<math::table::PRIME[876], real>(dimIndex, value, permuter);
2088 case 877: return math::radical_inverse_permuted<math::table::PRIME[877], real>(dimIndex, value, permuter);
2089 case 878: return math::radical_inverse_permuted<math::table::PRIME[878], real>(dimIndex, value, permuter);
2090 case 879: return math::radical_inverse_permuted<math::table::PRIME[879], real>(dimIndex, value, permuter);
2091 case 880: return math::radical_inverse_permuted<math::table::PRIME[880], real>(dimIndex, value, permuter);
2092 case 881: return math::radical_inverse_permuted<math::table::PRIME[881], real>(dimIndex, value, permuter);
2093 case 882: return math::radical_inverse_permuted<math::table::PRIME[882], real>(dimIndex, value, permuter);
2094 case 883: return math::radical_inverse_permuted<math::table::PRIME[883], real>(dimIndex, value, permuter);
2095 case 884: return math::radical_inverse_permuted<math::table::PRIME[884], real>(dimIndex, value, permuter);
2096 case 885: return math::radical_inverse_permuted<math::table::PRIME[885], real>(dimIndex, value, permuter);
2097 case 886: return math::radical_inverse_permuted<math::table::PRIME[886], real>(dimIndex, value, permuter);
2098 case 887: return math::radical_inverse_permuted<math::table::PRIME[887], real>(dimIndex, value, permuter);
2099 case 888: return math::radical_inverse_permuted<math::table::PRIME[888], real>(dimIndex, value, permuter);
2100 case 889: return math::radical_inverse_permuted<math::table::PRIME[889], real>(dimIndex, value, permuter);
2101 case 890: return math::radical_inverse_permuted<math::table::PRIME[890], real>(dimIndex, value, permuter);
2102 case 891: return math::radical_inverse_permuted<math::table::PRIME[891], real>(dimIndex, value, permuter);
2103 case 892: return math::radical_inverse_permuted<math::table::PRIME[892], real>(dimIndex, value, permuter);
2104 case 893: return math::radical_inverse_permuted<math::table::PRIME[893], real>(dimIndex, value, permuter);
2105 case 894: return math::radical_inverse_permuted<math::table::PRIME[894], real>(dimIndex, value, permuter);
2106 case 895: return math::radical_inverse_permuted<math::table::PRIME[895], real>(dimIndex, value, permuter);
2107 case 896: return math::radical_inverse_permuted<math::table::PRIME[896], real>(dimIndex, value, permuter);
2108 case 897: return math::radical_inverse_permuted<math::table::PRIME[897], real>(dimIndex, value, permuter);
2109 case 898: return math::radical_inverse_permuted<math::table::PRIME[898], real>(dimIndex, value, permuter);
2110 case 899: return math::radical_inverse_permuted<math::table::PRIME[899], real>(dimIndex, value, permuter);
2111 case 900: return math::radical_inverse_permuted<math::table::PRIME[900], real>(dimIndex, value, permuter);
2112 case 901: return math::radical_inverse_permuted<math::table::PRIME[901], real>(dimIndex, value, permuter);
2113 case 902: return math::radical_inverse_permuted<math::table::PRIME[902], real>(dimIndex, value, permuter);
2114 case 903: return math::radical_inverse_permuted<math::table::PRIME[903], real>(dimIndex, value, permuter);
2115 case 904: return math::radical_inverse_permuted<math::table::PRIME[904], real>(dimIndex, value, permuter);
2116 case 905: return math::radical_inverse_permuted<math::table::PRIME[905], real>(dimIndex, value, permuter);
2117 case 906: return math::radical_inverse_permuted<math::table::PRIME[906], real>(dimIndex, value, permuter);
2118 case 907: return math::radical_inverse_permuted<math::table::PRIME[907], real>(dimIndex, value, permuter);
2119 case 908: return math::radical_inverse_permuted<math::table::PRIME[908], real>(dimIndex, value, permuter);
2120 case 909: return math::radical_inverse_permuted<math::table::PRIME[909], real>(dimIndex, value, permuter);
2121 case 910: return math::radical_inverse_permuted<math::table::PRIME[910], real>(dimIndex, value, permuter);
2122 case 911: return math::radical_inverse_permuted<math::table::PRIME[911], real>(dimIndex, value, permuter);
2123 case 912: return math::radical_inverse_permuted<math::table::PRIME[912], real>(dimIndex, value, permuter);
2124 case 913: return math::radical_inverse_permuted<math::table::PRIME[913], real>(dimIndex, value, permuter);
2125 case 914: return math::radical_inverse_permuted<math::table::PRIME[914], real>(dimIndex, value, permuter);
2126 case 915: return math::radical_inverse_permuted<math::table::PRIME[915], real>(dimIndex, value, permuter);
2127 case 916: return math::radical_inverse_permuted<math::table::PRIME[916], real>(dimIndex, value, permuter);
2128 case 917: return math::radical_inverse_permuted<math::table::PRIME[917], real>(dimIndex, value, permuter);
2129 case 918: return math::radical_inverse_permuted<math::table::PRIME[918], real>(dimIndex, value, permuter);
2130 case 919: return math::radical_inverse_permuted<math::table::PRIME[919], real>(dimIndex, value, permuter);
2131 case 920: return math::radical_inverse_permuted<math::table::PRIME[920], real>(dimIndex, value, permuter);
2132 case 921: return math::radical_inverse_permuted<math::table::PRIME[921], real>(dimIndex, value, permuter);
2133 case 922: return math::radical_inverse_permuted<math::table::PRIME[922], real>(dimIndex, value, permuter);
2134 case 923: return math::radical_inverse_permuted<math::table::PRIME[923], real>(dimIndex, value, permuter);
2135 case 924: return math::radical_inverse_permuted<math::table::PRIME[924], real>(dimIndex, value, permuter);
2136 case 925: return math::radical_inverse_permuted<math::table::PRIME[925], real>(dimIndex, value, permuter);
2137 case 926: return math::radical_inverse_permuted<math::table::PRIME[926], real>(dimIndex, value, permuter);
2138 case 927: return math::radical_inverse_permuted<math::table::PRIME[927], real>(dimIndex, value, permuter);
2139 case 928: return math::radical_inverse_permuted<math::table::PRIME[928], real>(dimIndex, value, permuter);
2140 case 929: return math::radical_inverse_permuted<math::table::PRIME[929], real>(dimIndex, value, permuter);
2141 case 930: return math::radical_inverse_permuted<math::table::PRIME[930], real>(dimIndex, value, permuter);
2142 case 931: return math::radical_inverse_permuted<math::table::PRIME[931], real>(dimIndex, value, permuter);
2143 case 932: return math::radical_inverse_permuted<math::table::PRIME[932], real>(dimIndex, value, permuter);
2144 case 933: return math::radical_inverse_permuted<math::table::PRIME[933], real>(dimIndex, value, permuter);
2145 case 934: return math::radical_inverse_permuted<math::table::PRIME[934], real>(dimIndex, value, permuter);
2146 case 935: return math::radical_inverse_permuted<math::table::PRIME[935], real>(dimIndex, value, permuter);
2147 case 936: return math::radical_inverse_permuted<math::table::PRIME[936], real>(dimIndex, value, permuter);
2148 case 937: return math::radical_inverse_permuted<math::table::PRIME[937], real>(dimIndex, value, permuter);
2149 case 938: return math::radical_inverse_permuted<math::table::PRIME[938], real>(dimIndex, value, permuter);
2150 case 939: return math::radical_inverse_permuted<math::table::PRIME[939], real>(dimIndex, value, permuter);
2151 case 940: return math::radical_inverse_permuted<math::table::PRIME[940], real>(dimIndex, value, permuter);
2152 case 941: return math::radical_inverse_permuted<math::table::PRIME[941], real>(dimIndex, value, permuter);
2153 case 942: return math::radical_inverse_permuted<math::table::PRIME[942], real>(dimIndex, value, permuter);
2154 case 943: return math::radical_inverse_permuted<math::table::PRIME[943], real>(dimIndex, value, permuter);
2155 case 944: return math::radical_inverse_permuted<math::table::PRIME[944], real>(dimIndex, value, permuter);
2156 case 945: return math::radical_inverse_permuted<math::table::PRIME[945], real>(dimIndex, value, permuter);
2157 case 946: return math::radical_inverse_permuted<math::table::PRIME[946], real>(dimIndex, value, permuter);
2158 case 947: return math::radical_inverse_permuted<math::table::PRIME[947], real>(dimIndex, value, permuter);
2159 case 948: return math::radical_inverse_permuted<math::table::PRIME[948], real>(dimIndex, value, permuter);
2160 case 949: return math::radical_inverse_permuted<math::table::PRIME[949], real>(dimIndex, value, permuter);
2161 case 950: return math::radical_inverse_permuted<math::table::PRIME[950], real>(dimIndex, value, permuter);
2162 case 951: return math::radical_inverse_permuted<math::table::PRIME[951], real>(dimIndex, value, permuter);
2163 case 952: return math::radical_inverse_permuted<math::table::PRIME[952], real>(dimIndex, value, permuter);
2164 case 953: return math::radical_inverse_permuted<math::table::PRIME[953], real>(dimIndex, value, permuter);
2165 case 954: return math::radical_inverse_permuted<math::table::PRIME[954], real>(dimIndex, value, permuter);
2166 case 955: return math::radical_inverse_permuted<math::table::PRIME[955], real>(dimIndex, value, permuter);
2167 case 956: return math::radical_inverse_permuted<math::table::PRIME[956], real>(dimIndex, value, permuter);
2168 case 957: return math::radical_inverse_permuted<math::table::PRIME[957], real>(dimIndex, value, permuter);
2169 case 958: return math::radical_inverse_permuted<math::table::PRIME[958], real>(dimIndex, value, permuter);
2170 case 959: return math::radical_inverse_permuted<math::table::PRIME[959], real>(dimIndex, value, permuter);
2171 case 960: return math::radical_inverse_permuted<math::table::PRIME[960], real>(dimIndex, value, permuter);
2172 case 961: return math::radical_inverse_permuted<math::table::PRIME[961], real>(dimIndex, value, permuter);
2173 case 962: return math::radical_inverse_permuted<math::table::PRIME[962], real>(dimIndex, value, permuter);
2174 case 963: return math::radical_inverse_permuted<math::table::PRIME[963], real>(dimIndex, value, permuter);
2175 case 964: return math::radical_inverse_permuted<math::table::PRIME[964], real>(dimIndex, value, permuter);
2176 case 965: return math::radical_inverse_permuted<math::table::PRIME[965], real>(dimIndex, value, permuter);
2177 case 966: return math::radical_inverse_permuted<math::table::PRIME[966], real>(dimIndex, value, permuter);
2178 case 967: return math::radical_inverse_permuted<math::table::PRIME[967], real>(dimIndex, value, permuter);
2179 case 968: return math::radical_inverse_permuted<math::table::PRIME[968], real>(dimIndex, value, permuter);
2180 case 969: return math::radical_inverse_permuted<math::table::PRIME[969], real>(dimIndex, value, permuter);
2181 case 970: return math::radical_inverse_permuted<math::table::PRIME[970], real>(dimIndex, value, permuter);
2182 case 971: return math::radical_inverse_permuted<math::table::PRIME[971], real>(dimIndex, value, permuter);
2183 case 972: return math::radical_inverse_permuted<math::table::PRIME[972], real>(dimIndex, value, permuter);
2184 case 973: return math::radical_inverse_permuted<math::table::PRIME[973], real>(dimIndex, value, permuter);
2185 case 974: return math::radical_inverse_permuted<math::table::PRIME[974], real>(dimIndex, value, permuter);
2186 case 975: return math::radical_inverse_permuted<math::table::PRIME[975], real>(dimIndex, value, permuter);
2187 case 976: return math::radical_inverse_permuted<math::table::PRIME[976], real>(dimIndex, value, permuter);
2188 case 977: return math::radical_inverse_permuted<math::table::PRIME[977], real>(dimIndex, value, permuter);
2189 case 978: return math::radical_inverse_permuted<math::table::PRIME[978], real>(dimIndex, value, permuter);
2190 case 979: return math::radical_inverse_permuted<math::table::PRIME[979], real>(dimIndex, value, permuter);
2191 case 980: return math::radical_inverse_permuted<math::table::PRIME[980], real>(dimIndex, value, permuter);
2192 case 981: return math::radical_inverse_permuted<math::table::PRIME[981], real>(dimIndex, value, permuter);
2193 case 982: return math::radical_inverse_permuted<math::table::PRIME[982], real>(dimIndex, value, permuter);
2194 case 983: return math::radical_inverse_permuted<math::table::PRIME[983], real>(dimIndex, value, permuter);
2195 case 984: return math::radical_inverse_permuted<math::table::PRIME[984], real>(dimIndex, value, permuter);
2196 case 985: return math::radical_inverse_permuted<math::table::PRIME[985], real>(dimIndex, value, permuter);
2197 case 986: return math::radical_inverse_permuted<math::table::PRIME[986], real>(dimIndex, value, permuter);
2198 case 987: return math::radical_inverse_permuted<math::table::PRIME[987], real>(dimIndex, value, permuter);
2199 case 988: return math::radical_inverse_permuted<math::table::PRIME[988], real>(dimIndex, value, permuter);
2200 case 989: return math::radical_inverse_permuted<math::table::PRIME[989], real>(dimIndex, value, permuter);
2201 case 990: return math::radical_inverse_permuted<math::table::PRIME[990], real>(dimIndex, value, permuter);
2202 case 991: return math::radical_inverse_permuted<math::table::PRIME[991], real>(dimIndex, value, permuter);
2203 case 992: return math::radical_inverse_permuted<math::table::PRIME[992], real>(dimIndex, value, permuter);
2204 case 993: return math::radical_inverse_permuted<math::table::PRIME[993], real>(dimIndex, value, permuter);
2205 case 994: return math::radical_inverse_permuted<math::table::PRIME[994], real>(dimIndex, value, permuter);
2206 case 995: return math::radical_inverse_permuted<math::table::PRIME[995], real>(dimIndex, value, permuter);
2207 case 996: return math::radical_inverse_permuted<math::table::PRIME[996], real>(dimIndex, value, permuter);
2208 case 997: return math::radical_inverse_permuted<math::table::PRIME[997], real>(dimIndex, value, permuter);
2209 case 998: return math::radical_inverse_permuted<math::table::PRIME[998], real>(dimIndex, value, permuter);
2210 case 999: return math::radical_inverse_permuted<math::table::PRIME[999], real>(dimIndex, value, permuter);
2211 case 1000: return math::radical_inverse_permuted<math::table::PRIME[1000], real>(dimIndex, value, permuter);
2212 case 1001: return math::radical_inverse_permuted<math::table::PRIME[1001], real>(dimIndex, value, permuter);
2213 case 1002: return math::radical_inverse_permuted<math::table::PRIME[1002], real>(dimIndex, value, permuter);
2214 case 1003: return math::radical_inverse_permuted<math::table::PRIME[1003], real>(dimIndex, value, permuter);
2215 case 1004: return math::radical_inverse_permuted<math::table::PRIME[1004], real>(dimIndex, value, permuter);
2216 case 1005: return math::radical_inverse_permuted<math::table::PRIME[1005], real>(dimIndex, value, permuter);
2217 case 1006: return math::radical_inverse_permuted<math::table::PRIME[1006], real>(dimIndex, value, permuter);
2218 case 1007: return math::radical_inverse_permuted<math::table::PRIME[1007], real>(dimIndex, value, permuter);
2219 case 1008: return math::radical_inverse_permuted<math::table::PRIME[1008], real>(dimIndex, value, permuter);
2220 case 1009: return math::radical_inverse_permuted<math::table::PRIME[1009], real>(dimIndex, value, permuter);
2221 case 1010: return math::radical_inverse_permuted<math::table::PRIME[1010], real>(dimIndex, value, permuter);
2222 case 1011: return math::radical_inverse_permuted<math::table::PRIME[1011], real>(dimIndex, value, permuter);
2223 case 1012: return math::radical_inverse_permuted<math::table::PRIME[1012], real>(dimIndex, value, permuter);
2224 case 1013: return math::radical_inverse_permuted<math::table::PRIME[1013], real>(dimIndex, value, permuter);
2225 case 1014: return math::radical_inverse_permuted<math::table::PRIME[1014], real>(dimIndex, value, permuter);
2226 case 1015: return math::radical_inverse_permuted<math::table::PRIME[1015], real>(dimIndex, value, permuter);
2227 case 1016: return math::radical_inverse_permuted<math::table::PRIME[1016], real>(dimIndex, value, permuter);
2228 case 1017: return math::radical_inverse_permuted<math::table::PRIME[1017], real>(dimIndex, value, permuter);
2229 case 1018: return math::radical_inverse_permuted<math::table::PRIME[1018], real>(dimIndex, value, permuter);
2230 case 1019: return math::radical_inverse_permuted<math::table::PRIME[1019], real>(dimIndex, value, permuter);
2231 case 1020: return math::radical_inverse_permuted<math::table::PRIME[1020], real>(dimIndex, value, permuter);
2232 case 1021: return math::radical_inverse_permuted<math::table::PRIME[1021], real>(dimIndex, value, permuter);
2233 case 1022: return math::radical_inverse_permuted<math::table::PRIME[1022], real>(dimIndex, value, permuter);
2234 case 1023: return math::radical_inverse_permuted<math::table::PRIME[1023], real>(dimIndex, value, permuter);
2235 }
2236}
2237
2238}// end namespace ph::halton_detail
else if(BATCH_SIZE==8)
Definition TBvhSimdComputingContext.h:505
Definition halton.h:33
static PermutationTable makeTable(const std::size_t dimIndex)
Definition halton.h:35
FixedPermuter(const PermutationTable &table)
Definition halton.h:57
uint64 operator()(const uint64, const uint64 digit) const
Definition halton.h:62
OwenScrambledPermuter(const uint64 dimIndex)
Definition halton.h:126
uint64 operator()(const uint64, const uint64 digit)
Definition halton.h:135
PerDigitPermuter(const PermutationTable &table)
Definition halton.h:103
uint64 operator()(const uint64, const uint64 digit)
Definition halton.h:109
static PermutationTable makeTable(const std::size_t dimIndex)
Definition halton.h:74
Miscellaneous math utilities.
Definition halton.h:20
uint16 TableDigit
Definition halton_fwd.h:12
constexpr std::size_t MAX_DIMENSIONS
Definition halton_fwd.h:10
real radical_inverse(const uint64 dimIndex, const uint64 value)
Definition halton.h:165
real radical_inverse_permuted(const uint64 dimIndex, const uint64 value, DigitPermuter permuter)
Definition halton.h:1203
std::unique_ptr< TableDigit[]> PermutationTable
Definition halton_fwd.h:13
PermutationTable make_table(const std::size_t size)
Definition halton.h:27
constexpr auto num_meaningful_digits(const Base base)
Number of reversed digits that will have effect on the type Result. Due to the limited precision of f...
Definition radical_inverse.h:31
constexpr std::array< uint32, 2048 > PRIME
First 2048 primes.
Definition math_table.h:14
void shuffle_durstenfeld(RandomIterator begin, RandomIterator end, Swapper swapper=Swapper())
Definition shuffle.h:50
Result radical_inverse(const Value value)
Compute radical inverse of a value.
Definition radical_inverse.h:79
uint32 permuted_index(uint32 i, uint32 l, uint32 p)
Get the permuted index or value in O(1) space and O(1) time.
Definition hash.ipp:206
uint64 moremur_bit_mix_64(uint64 v)
A MurmurHash3-style bit mixer that outperforms the original by quite some margin. 64-bit version.
Definition hash.ipp:104
Result radical_inverse_permuted(const Value dimIndex, const Value value, DigitPermuter permuter)
Same as radical_inverse(), with permutation ability. It is guaranteed that no more than radical_inver...
Definition radical_inverse.h:125