Я пытаюсь вычислить квадратный корень из целочисленных значений. Он не обязательно должен быть очень точным, но он должен быть быстрым и детерминированным на разных платформах. Я использую это для игры в реальном времени с фиксированной сетью.
Я подумываю просто привести значение к удвоению и использовать Math.Sqrt, который, как я предполагаю, имеет аппаратное ускорение и его должно быть достаточно. быстрый. Но могу ли я рассчитывать на то, что это будет совершенно детерминировано на всех платформах для всех возможных входных данных (скажем, uint64), включая приведение обратно к целому числу? Судя по моим поискам в Google по этому вопросу, кажется, что sqrt с плавающей запятой обычно детерминирован на разных платформах (в отличие, например, от cos/tan), но кто-нибудь знает об этом больше?
Подробнее здесь: https://stackoverflow.com/questions/787 ... -math-sqrt
Быстрый целочисленный sqrt с использованием Math.Sqrt ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение