Как стать автором
Обновить
-7
0

Пользователь

Отправить сообщение

Bash отладчик с поддержкой произвольных точек останова

Время на прочтение4 мин
Количество просмотров9.3K

В комментариях к статье об отладке bash скриптов я высказал предположение, что предложенный подход отладки может быть расширен добавлением поддержки точек останова. После некоторых размышлений я немного дополнил код, предложенный в комментариях к статье и получилось вот что:

Читать дальше →
Всего голосов 52: ↑52 и ↓0+52
Комментарии6

Звоним бесплатно, используя блокчейн-сервис ENUMER

Время на прочтение14 мин
Количество просмотров26K
В статье рассказывается о децентрализованной реализации протокола IP-телефонии ENUM на базе блокчейна криптовалюты Emercoin. Дано описание системы ENUMER, её отличие от других реализаций ENUM. Также приведены инструкции по разворачиванию узла ENUMER и дан пример конфигурации VOIP АТС FreeSWITCH для работы с ENUMER.



Читать дальше →
Всего голосов 37: ↑33 и ↓4+29
Комментарии23

«Магическая константа» 0x5f3759df

Время на прочтение9 мин
Количество просмотров120K
В этой статье мы поговорим о «магической» константе 0x5f3759df, лежащей в основе элегантного алгоритмического трюка для быстрого вычисления обратного квадратного корня.

Вот полная реализация этого алгоритма:

float FastInvSqrt(float x) {
  float xhalf = 0.5f * x;
  int i = *(int*)&x;  // представим биты float в виде целого числа
  i = 0x5f3759df - (i >> 1);  // какого черта здесь происходит ?
  x = *(float*)&i;
  x = x*(1.5f-(xhalf*x*x));
  return x;
}

Этот код вычисляет некоторое (достаточно неплохое) приближение для формулы

image

Сегодня данная реализация уже хорошо известна, и стала она такой после появления в коде игры Quake III Arena в 2005 году. Её создание когда-то приписывали Джону Кармаку, но выяснилось, что корни уходят намного дальше – к Ardent Computer, где в середине 80-ых её написал Грег Уолш. Конкретно та версия кода, которая показана выше (с забавными комментариями), действительно из кода Quake.
В этой статье мы попробуем разобраться с данным хаком, математически вывести эту самую константу и попробовать обобщить данный метод для вычисления произвольных степеней от -1 до 1.

Да, понадобится немного математики, но школьного курса будет более, чем достаточно.
Читать дальше →
Всего голосов 212: ↑210 и ↓2+208
Комментарии188

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность