All streams
Search
Write a publication
Pull to refresh
126
0
Send message
Задача на сообразительность: в каких случаях вычисление гипотенузы сводится к формуле |x| * |y|?

Не видевшие реализации, ни в жизнь не догадаются.

Версия для float: code.metager.de/source/xref/glibc/sysdeps/ieee754/flt-32/e_hypotf.c

(для справки: hb &= 0x7fffffff — взятие мантиссы и экспоненты без учёта знака, ha == 0x7f800000 — проверка на бесконечность)

Ссылку на версию для double дали выше, но это уже совсем другая история.
А где очевидный вариант «Прав, но WebKit тут не при чем»? Только что проверил на андроидовском Firefox и Opera Mobile, прекрасно работает и там и там. Это чистая политика, тут нет неправых. Каждый имеет возможность гнуть свою линию в пределах своего продукта, и в этом и заключается право.
Я конечно понимаю, что это делалось под экраны с повышенной плотностью пикселей, но не хотите сделать какой-нибудь антиалиасинг? Например, простой в вычислительном плане FXAA.
В чём проблема пресайса? Нормально работает и на раринге (13.04) 64-бит, хотя за год почти все библиотеки выросли в версии. Зависимости от библиотек консервативны, только иксовые библиотеки, работа со звуком и ещё несколько совсем базовых библиотек, так что пакет можно спокойно конвертировать в rpm alien-ом.

К тому же, посмотрите на размер пакета — чуть больше мегабайта. А все остальные 300мб (в распакованном виде) выкачиваются в процессе установки. С таким размером они вполне могут позволить себе линковаться к редким библиотекам статически.
А по-моему это очень круто. Хабр читают очень много веб-разработчиков (кроме самих разработчиков хабра), Кто-нибудь теперь возьмёт и внедрит эту идею к себе на форум/блог/вики-движок/ЛС/систему комментариев/… Да мало ли куда! А там и другие веб-разработчики подтянутся. Напишут jquery-скрипт, который будет подключаться к textarea одной строчкой. И со временем это станет общераспространённой технологией.
Ваш левый глаз заблокирован за просмотр информации, запрещённой на территории РФ. Для снятия блокировки отправьте СМС на короткий номер 1234 с текстом «ХОЧУ ВИДЕТЬ». Не пытайтесь снять линзу, попытка снятия приведёт к подаче тока высокого напряжения на глазное яблоко. Оставшееся время: 4:59… 4:58… 4:57…
Небольшое уточнение: на количество чтений влияет не столько локальность/глобальность переменных, сколько локальность/глобальность привязки. Если перемененная будет определена вне функции, но со словом static, то компилятор с лёгкостью определит оптимальное количество чтений. Это важно. На практике, если уж без глобальных переменных не обойтись, всё равно почти всегда переменную удаётся сделать статической и обращаться к ней извне через специальные функции.
А чем вы так красиво сгенерировали листинг? -fdump-tree-optimized выводит оптимизированную версию с внутреннего представления, -g -Wa,-ahl=test.s ссылается не на все строки, а -S -fverbose-asm ссылается не на реальные строки, а опять же на внутреннее представление.
Первый код запутывает компилятор. Даже если итерации цикла независимы, компилятор не считает их таковыми; по этой причине он не может векторизовать данный кусок кода. А вот второй — может.

Что-то вы совсем древние компиляторы взяли. GCC 4.7 спокойно векторизует этот код, предварительно вставляя проверку, что a, b и c не накладываются друг на друга в пределах sizeof(*a).
10: create runtime check for data references *b_27 and *a_26
10: create runtime check for data references *c_28 and *a_26

Ну а чтобы он и этой проверки не делал, можно указать __restrict__, тогда этот цикл будет векторизован без всякой ругани.
void f(int * __restrict__ a, int * __restrict__ b, int * __restrict__ c, int N) {
  for(int i = 0; i < N; i++)
    *a++ = *b++ + *c++;
}

Кстати, чтобы посмотреть весь ход автовекторизации, есть отличные опции: g++ -O2 -ftree-vectorize -march=native -ftree-vectorizer-verbose=5
в пятницу рост цены акций компании составил 14%

Тем временем за последние пять лет:
В студию:
1) полный код писем, особенно заголовки, изображения и ссылки
2) OS владельцев угнанных аккаунтов

Особенно интересует, что это за письмо, которое начинается с маленькой буквы и со ссылки на api.skype.com. Пока похоже на стандартную разводку лохов, которой сто лет воруют аккаунты на всём подряд от почты до жж и блоггера (на такой же штуковине попадались г-да Мавроди и Навальный).
Забыл, моя вина. Но это в любом случае не даёт права закрывать код qt, даже если вы его не модифицировали (в связи с чем нужно поставлять текст лицензии с продуктом).
Вы продаёте некоммерческую GPL-версию qt (сохранённая страница, SHA1(DoronixMathToolboxSetup.exe)= 115d1b1a01dd9346e26938ed8f85ed660b6664d5). В принципе, это делать никто не запрещает, но исходники+текст лицензии, будьте добры, выложите.
Кажется, мы так ничего и не узнаем о тех четырёх африканских мальчиках, которые в соседнем помещении в течении всего времени демонстрации крутили рукоятки динамо-машин, чтобы обеспечить питание электролизера…
По меркам игр, существовавших до этого, может это и правда это хорошо выглядит. Но с точки зрения фотореализма, один раз увидишь вариант лучше — всегда о нём будешь думать. Например лайтмапы: тени красивые, но объекты просто невозможно сдвинуть. Карты теней — да, даёт тень по форме объекта, но где в реальной жизни тень получается от блюра формы объекта? Если есть motion blur для объектов, то он наверняка векторный, а значит не будет распространяться на отражения и преломления. И в целом, олдскульные шейдеры (Фонги, Ламберты и прочие) дают очень приближённое освещение, в частности, не учитывающее форму источника. И таких мелочей множество, даже в одной области освещения.
Интересно, что даже для современных игр типа Diablo 3 до сих пор используются такие классические технологии, как предрассчитанные лайтмапы, карты теней, эффекты на основе текстурок и т. д. Из более-менее новых технологий разве что FXAA (который впервые появился в скайриме), а всё остальное было ещё в далёких 2000-х. И даже если бы были нормалмапы, это вряд ли бы что-то изменило. Где CUDA/OpenCL, где рейтрейсинг по хитро просчитанным BVH-деревьям, воксельные системы, физически-корректные и реалистичные BSDF или даже BSSRDF для подповерхностного рассеяния? Арргх, не дожить мне до этого дня!
Ждём надписи «Samsung is not so cool» большим шрифтом прямо на главной?
Куда только смотрят производители резины?
Да уж, если такие моменты моменты случаются в системах перевода, то что будет, когда в обиход войдут системы искусственного интеллекта типа IBM-овского Ватсона? Отладка такого чуда даже Айзеку Азимову не снилась. На этот раз спасибо «Ананасовому Экспрессу»:
— Давай. бери весы и я пойду.
«Я думала, сезон бурь закончился!»
— Вот так!
— Где же вы, мои гиречки?
— Что это, к черту, такое?
— Крестовый косяк. — Курил такой?
— А его курят? ru

— Grab the scale. Let's get me out of here.
I thought hurricane season was over.
— Oh, crow.
— Where are you, you little fucker?
— What the fuck is this thing?
— Cross joint. — Yeah. — You ever smoke one of those?
— You can smoke this? en

Information

Rating
Does not participate
Registered
Activity