Post #546
335

https://suberic.net/~dmm/projects/mystical/README.html
Чувак изобрёл язык из магических кругов, транспилирующийся в PostScript🤡
Чувак изобрёл язык из магических кругов, транспилирующийся в PostScript🤡
- 🔥 3
- 👍 2
ЧА Showing posts older than #547 · Back to latest

daria smyr Photo
runtime.mapclear заместо delete(k, v) в цикле туда же в копилочкуForwarded from daria smyr

(void*)0 (иногда может в просто 0 или 0L)). Но совершенно не гарантируется стандартом, что 0 будет валидным null pointer для архитектуры! Вот тут hall of shame для именно таких динозавров с nullptr != 0.
rand7(), которая равномерно возвращает случайное число в диапазоне [1, 7]. Наша задача — написать функцию rand10() с диапазоном [1, 10], сохранив равномерное распределение. Дальше вместо rand7() будут использоваться переменные a и b. Скорее всего, вы сходу предложите одну из примитивных реализаций. Вот примеры:func rand10() int {
a, b := rand7(), rand7()
return a + b % 3
}func rand10() int {
a, b := rand7(), rand7()
return (a * b) % 10 + 1
}b % 3 даёт остатки от деления на 3, т.е. 0, 1 или 2 не с одинаковой вероятностью. Остаток 1 встречается чаще остальных, из-за чего получается неравномерное распределение итоговых значений.a * b тоже неравномерное.1 = 1 * 1 → 1 комбинация6 = 1*6, 2*3, 3*2, 6*1 → 4 комбинации12 = 2*6, 3*4, 4*3, 6*2 → 4 комбинации36 = 6*6 → 1 комбинация(...) % 10 + 1 ещё больше усугубляет ситуацию, потому что например при product = 2, 12, 22, 32, 42 мы будем везде получать значение 3a и b.((a - 1) * 7 + b ) % 10 + 11 до 10 встречаются почти с одинаковой частотой, за исключением 10, которое появляется всего 4 раза, тогда как остальные — по 5 раз.7 × 7 = 49, нам не хватает числа 50. if num > 40. Тогда остаются только 40 комбинаций, которые можно равномерно разбить на 10 групп по 4 значения, что и видно на последней диаграммеfunc rand10() int {
for {
a, b := rand7(), rand7()
num := (a-1)*7 + b
if num <= 40 {
return 1 + (num-1)%10
}
}
}Чайник из Юты Все знают про фатальный недостаток - мем, касающийся Поттеринга, и отсылающийся к переписыванию уже работающего, при этом производя bloatware (какого хуя системд имеет отношение к буту?). А что насчёт NIH - not invented here, как синдром, возникающий при…
Чайник из Юты во-вторых этот код валиден
This post (sticker, poll or similar) has no web preview. Open in Telegram
Forwarded from Вадик

This post (sticker, poll or similar) has no web preview. Open in Telegram



Forwarded from /g/'s Tech Memes
Hacker News Tariff: A Python package that imposes tariffs on Python imports Article, Comments

Чайник из Юты Swissmap, на которую сейчас в го переходят, кстати, тоже есть таблицей на открытой адресации. Только они добавили ещё так званую метадату - отдельный (на самом деле, не очень) массив чаров, что и обращения к памяти более локализирует (более кэш-френдли =>…