Я предполагаю, что вы говорите о предложении «Создайте массив static const
из всех идеальных квадратов в области, которую вы хотите поддерживать, и выполните быстрый бинарный поиск без ответвлений по нему».найденный в этот ответ .
Бинарный поиск "без ответвлений" - это просто развернутый цикл двоичного поиска.Это работает, только если вы заранее знаете количество элементов в массиве, который вы ищете (как если бы это было static const
).Вы можете написать программу для написания развернутого кода, если он слишком длинный, чтобы делать это вручную.
Затем вы должны benchmark ваше решение, чтобы увидеть, действительно ли оно быстрее цикла.Если ваш код без ответвлений слишком большой, он не помещается в кэш быстрых команд ЦП и будет выполняться дольше, чем эквивалентный цикл.