267 {
269 if (opt_idx < 0 || !(options & (1U << opt_idx)) )
270 {
271 return false;
272 }
273
274
275
276 constexpr int limited_option = 6;
277
278
279
280
281
282
283
284
285
286
287 constexpr int s_PS_start[
NumNeighOptions] = {173888, 358016, 541056, 723584, 1432784, 1954480, 2364410, 2438696, 2439336, 2500008, 2529160, 2559756};
288 constexpr int s_HECIW_FCal_start[
NumNeighOptions] = {183232, 367360, 550272, 732672, 1469392, 1954480, 2435450, 2438824, 2439720, 2500008, 2529160, 2559756};
289
290 if (limited_PS && opt_idx != limited_option)
291 {
292 if (pair >= s_PS_start[opt_idx] && pair < s_HECIW_FCal_start[opt_idx])
293 {
294 return false;
295 }
296 }
297
298 if (limited_HECIW_FCal && opt_idx != limited_option)
299 {
300 if (pair >= s_HECIW_FCal_start[opt_idx])
301 {
302 return false;
303 }
304 }
305
306 return true;
307
308 }
constexpr int get_option(const int pair) const