Впрочем, те, которые WR 100 m (а это у меня Casio Sea-Pathfinder) на глубине 11 м умерли не совсем, только отключились. А через день внезапно включились и продолжают исправно работать. Хотя по спецификации должны держаться на глубине до 30 метров.
А у Suunto отличные дайв-компы, правда, любительские (кроме dx и d9). Никаких нареканий. А чтоб поплавать, так выбор вообще широкий — Ambit'ы штатно годятся.
Нет. На самом деле это значит, что их проверяли под давлением 3 бара, но без погружения в воду. Имеют негерметичные коронки-кнопки. Можно в них мыть руки, но аккуратно. Чтобы под душем постоять — это уже water resistant 50 m. Часы 100 m годятся, чтоб посноркать, и то без фанатизма (у меня такие на 11 метрах умерли).
Часы для дайвинга маркируются иначе. Подробности в ISO 2281, ISO 6425.
Suunto Vector — туристические-альпинистские часы с water resistant mark 30 m, то есть с защитой от дождя. Не предназначены для плавания. А вообще водонепроницаемости Suunto отлично понимают: у них есть давняя развесистая линейка дайв-компов, подводных компасов и консолей. Компасы так вообще лучшие в мире.
Сейчас, когда одна команда процессора за мгновение вычисляет одновременно синус и косинус, думаю, эти методы могут еще посоревноваться.
Об эффективности вычисления стоит поговорить, здесь очень интересный момент вырисовывается.
Смотрите: алгоритм Бокса-Мюллера выдает сразу два нормально распределенных значения, независимых друг от друга. Привычно же, что генератор случайных чисел поставляет их по штуке за раз, и нужны случайные числа, как правило, поштучно. А тут второе число на халяву образуется. Что можно сделать:
вернуть из функции сразу пару значений — это переложить головную боль на потребителя
выбросить второе значение — наверное, жалко. Оно хорошее, и тяжело досталось: там логарифм или тригонометрия в расчетах
сохранить второе значение глобально, вернуть при следующем вызове — нехорошо, мы ж модные функциональные пацаны с параллелизмом, без блокировок и побочных эффектов, не надо нам ничего глобального
Самое приятное — сохранить второе значение на стеке, запомнить новую точку входа. Поэтому алгоритм Бокса-Мюллера — очень неплохая иллюстрация к coroutines. Например, на Питоне:
def randnorm():
while True:
x = 2 * math.pi * random.random()
y = math.sqrt(-2 * math.log(random.random()))
yield math.cos(x) * y
yield math.sin(x) * y
Но это в теории. Когда я писал «промышленный» перловый модуль (вот он: Math::Random::NormalDistribution), я, разумеется, не поленился написать пачечку бенчмарок, где проверил разнообразные комбинации: вычисление через тригонометрические функции, вычисление через логарифм с отбрасыванием значений, не попадающих в единичный круг; в виде обычных функций (с отбрасыванием второго значения), в виде замыканий (с использованием ранее вычисленного значения), в виде генераторов, возвращающих замыкание и т.п.
Самым быстрым (по крайней мере для Перла) оказалось самое лобовое решение: не возиться с короутинами, не сводить к более быстрому логарифму, а просто вычислить косинус/синус, второе значение отбросить.
А эти ваши yield'ы — баловство, дороже обходятся :)
Давно хочу написать о «радиации для чайников», но тема очень обширная.
Хороший бытовой дозиметр — Терра МКС-05. Есть в нескольких вариантах (для гиков с блютузом).
Да и то еще вопрос. Для поддержания вакуума в таком огромном объеме (миллионы кубометров) насосы должны быть аццкие и работать постоянно. Вытянуть тысчонку кубов выхлопных газов не должно быть проблемой. Вот нагар может стать проблемой.
А у Suunto отличные дайв-компы, правда, любительские (кроме dx и d9). Никаких нареканий. А чтоб поплавать, так выбор вообще широкий — Ambit'ы штатно годятся.
Часы для дайвинга маркируются иначе. Подробности в ISO 2281, ISO 6425.
Suunto Vector — туристические-альпинистские часы с water resistant mark 30 m, то есть с защитой от дождя. Не предназначены для плавания. А вообще водонепроницаемости Suunto отлично понимают: у них есть давняя развесистая линейка дайв-компов, подводных компасов и консолей. Компасы так вообще лучшие в мире.
dic.academic.ru/dic.nsf/enc2p/376630
Шаровая краска — буквально «краска для покраски». Ну а чё, самая годная на флоте краска.
Затем просто набирать в строке «h всякая фигня».
Об эффективности вычисления стоит поговорить, здесь очень интересный момент вырисовывается.
Смотрите: алгоритм Бокса-Мюллера выдает сразу два нормально распределенных значения, независимых друг от друга. Привычно же, что генератор случайных чисел поставляет их по штуке за раз, и нужны случайные числа, как правило, поштучно. А тут второе число на халяву образуется. Что можно сделать:
Самое приятное — сохранить второе значение на стеке, запомнить новую точку входа. Поэтому алгоритм Бокса-Мюллера — очень неплохая иллюстрация к coroutines. Например, на Питоне:
Но это в теории. Когда я писал «промышленный» перловый модуль (вот он: Math::Random::NormalDistribution), я, разумеется, не поленился написать пачечку бенчмарок, где проверил разнообразные комбинации: вычисление через тригонометрические функции, вычисление через логарифм с отбрасыванием значений, не попадающих в единичный круг; в виде обычных функций (с отбрасыванием второго значения), в виде замыканий (с использованием ранее вычисленного значения), в виде генераторов, возвращающих замыкание и т.п.
Самым быстрым (по крайней мере для Перла) оказалось самое лобовое решение: не возиться с короутинами, не сводить к более быстрому логарифму, а просто вычислить косинус/синус, второе значение отбросить.
А эти ваши yield'ы — баловство, дороже обходятся :)
Хороший бытовой дозиметр — Терра МКС-05. Есть в нескольких вариантах (для гиков с блютузом).
Ишь ты, а мужики-то в космос летают и не знают!