LINUX.ORG.RU

Избранные сообщения d

Красивые способы корректного сравнения знаковых и беззнаковых целых

Форум — Development

Стандарты языка С предписывают компиляторам пользовать «быстрое» сравнение, вместо корректного.

То есть в следующем коде согласно всех стандартов языка С переменная res должна получить значение 0 а не 1, что крайне непрактично.

unsigned int a = 1;
int b = -1;
int res = (b < a);

Недавно я узнал что существует заметно больше способов корректного сравнения чем я изначально предполагал. Поэтому мне интересен чужой опыт.

Естественно речь о ситуациях где отказаться ни от знаковых, ни от беззнаковых никак нельзя.

Мой основной способ решения этой проблемы через расширение разрядности, так как я в первую очередь имею дело с unsigned char, но смесь size_t c ssize_t или что-то подобное также нередко доставляет неудобства.

Опишите кто и как выкручивается в сложившейся ситуации.

[UPDATE] ассемблерные листинги к классическим алгоритмам сравнения

For example x86 gcc 7.1 will for C++ source:

bool compare(int x, unsigned int y) {
    return (x < y); // "wrong" (will emit warning)
}

bool compare2(int x, unsigned int y) {
    return (x < 0 || static_cast<unsigned int>(x) < y);
}

bool compare3(int x, unsigned int y) {
    return static_cast<long long>(x) < static_cast<long long>(y);
}

Produce this assembly (godbolt live demo):

compare(int, unsigned int):
        cmp     edi, esi
        setb    al
        ret

compare2(int, unsigned int):
        mov     edx, edi
        shr     edx, 31
        cmp     edi, esi
        setb    al
        or      eax, edx
        ret

compare3(int, unsigned int):
        movsx   rdi, edi
        mov     esi, esi
        cmp     rdi, rsi
        setl    al
        ret

Взято вот здесь:

https://stackoverflow.com/a/44070807/73747

 , ,

cvv
()

Отключение всех заплаток ядра разом (Meltdown, Spectre, L1TF, MDS)

Форум — Talks

Может кому интересно. В актуальные ядра (5.1.2, 5.0.16, 4.19.43, 4.14.119, 4.9.176) добавили параметр для отключения всех заплаток разом.

mitigations=off

Для тех, кто хочет выжать максимум производительности из своего железа.

 , , , ,

Kron4ek
()

Музыкальные торрент трекеры

Форум — Talks

Какие есть музыкальные трекеры? Или там где больший выбор музыки чем на rutracker, rutor, the pirate bay.

 , , ,

Riniko
()

Случилась беда с KRoN73

Новости — Linux.org.ru
Группа Linux.org.ru

KRoN73 RIP

Всё написанное ниже уже неактуально :(

Друзья. Под новогодние праздники (с 29 на 30) случилась ужасная беда со старейшим участником форума - KRoN73.

( Подробности... )

Я никогда не делал подобные обращения, поэтому не знаю, что писать и немного (на самом деле много) растерян.

( Как помочь... )

>>> Оригинальный тред

 ,

shell-script
()

Случилась беда с KRoN73 :(

Форум — Talks

KRoN73 RIP

Всё написанное ниже уже неактуально :(

Друзья. Под новогодние праздники (с 29 на 30) случилась ужасная беда со старейшим участником форума - KRoN73. Инсульт. Да не просто инсульт, а такой, что сейчас Рома в реанимации в Боткинской больнице в коме после трепанации. Позачера (2.01) его состояние изменилось с «нестабильно тяжёлый» на «стабильно тяжёлый», далее без динамики состояние на 04.01 - уменьшился отёк, пытается самостоятельно дышать, но пока без сознания. Разумеется, никто никаких прогнозов не даёт (если говорить прямо, даже на жизнь)

Весь ужас ситуации в том, что:

1) У него двое несовершеннолетних детей (дочь в младших классах и сын дошкольник), супруга - кандидат биологических наук (что означает доход чуть более, чем ничего) и недавно взятая ипотека ипотеку закрыли совсем недавно, cоответственно, Рома - главный кормилец в семье.

2) Рома не успел оставить доступ к своим счетам и картам получили доступ, там есть небольшая сумма.

Я никогда не делал подобные обращения, поэтому не знаю, что писать и немного (на самом деле много) растерян.

Ромина супруга Саида неохотно опубликовала в tg-группе номер своей банковской карточки Сбербанка (оттранслировано на форум Ромы) -

4276 8380 5742 5110
Саида Шамильевна Каршиева
Пожалуйста, в назначении/сообщении платежа (если есть такое поле) указывайте «на лечение» или «добровольное пожертвование на лечение»

иначе потом могут попытаться взять подоходный налог или заблокировать карту!

Если вдруг кто что-нибудь переведёт ей - буду навечно благодарен. Также могу выступить посредником между paypal (koptev@gmail.com) и супругой Ромы (разумеется, со всеми пруфами, если понадобится). Ни разу не принимал много платежей, наверное, стоит указывать в комментарии к платежу «Роману на лечение». опытные товарищи подсказывают, что ничего не надо писать в комментарии к paypal Звонил в банк, там посоветовали всё же в paypal указывать назначение платежа (например, «На лечение Романа Каршиева»), чтобы, в случае возникновения вопросов, предоставить распечатки инвойсов из интерфейса paypal.

Пожалуйста, давайте не будем в этой теме дискутировать о политике, национальности и вероисповедании.

 ,

Deleted
()

Переезд в США

Форум — Talks

Выполняю обещание, данное вот тут
Ищу работу: C++11, структуры данных, алгоритмы, сеть, lock-free, highload. (комментарий)

В этой теме готов ответить на вопросы о том, как программисту линуксоиду переехать жить в США. Сам уже 1.5 года как переехал.

Так же могу рассказать про сложности, которые могут возникнуть и как их лучше решить. Аренда, налоги, переезд, десткие сады и школы, жизнь в мультикультурном обществе, знание языка, что спрашивают на собеседованиях.

Написать большой пост сил так и не хватило, так что задавайте ваши вопросы.

P.S. Ответы в большинстве своем относятся к Калифорнии и конкретно Долине и ее окресностям. В других штатах все может быть немного по другому.

 , ,

trex6
()

Современная философия

Форум — Talks

Что можно почитать из современной философии, которая хорошо согласуется или даже берёт за основу современные научные теории? Ну там, философское осмысление квантмеха, например, вот такое вот.

А то как откроешь что-нибудь из XIX и ранее века - плакать хочется от этой бредотни (ну кроме Ницше, тот жжот на 5+). Из XX века я из «чистых» философов только Камю читал, отлично зашёл вообще, хоть науке и ортогонален.

Перемещено leave из science

 ,

Deleted
()

Музыка: возрождение классических инструментов в современной музыка

Форум — Talks

Привет

Фортепиано, скрипки, виолончели у меня всегда однозначно ассоциировались с Бахом, Бетховеном, Моцартом и другой классикой. Классика - это хорошо, пафосно, возвышенно. Но, иногда хочется чего-то менее нафталинистого.

Пошерстив по Youtube'ам с удивлением обнаружил, что классические инструменты могут звучать современно. Примеры ниже, но вопрос/просьба сразу:

Посоветуйте музыку, в которой бы классические инструменты - фортепиано, скрипка и т. п. - играли драйвово и современно.

Исполнение Metallica, Scorpions и т. п. в аранжировке с оркестром не предлагать: уж очень банально.

Вот примеры чего хочу.

2Cellos - уже, думаю, многие знают. Ребята очень современно играют на виолончелях. Например Mombasa - хороший пример современного стиля игры на классическом инструменте: во времена Моцарта и Баха так не играли. Highway To Hell - да, рок-классика, но звучит по-другому и классно: я бы поставил такое себе в плеер.

William Joseph офигительно играет Radioactive в даб-степовой аранжировке. Или вот еще классический Miserlou со скрипками как звучит: совсем по-другому в сравнении с оригиналом.

Lindsey Stirling - скрипка + дабстеп: Crystallize, Shadows

И открытие года - Darius Havasi - фортепиано + барабан. Это нужно просто видеть и слышать: Duel, Freedom, Prelude | Age of Heroes

Есть еще что-то подобное?

 ,

Kroz
()

minimodem: двухнаправленная передача данных

Форум — Admin

Такой вопрос, можно ли с помощью minimodem организовать двухнаправленную передачу данных? Мне это надо для передачи данных через звуковую карту.

 , , , ,

ne-vlezay
()

failed to start load kernel modules

Форум — Desktop

поставил virtualbox теперь при старте я получаю сообщение: failed to start load kernel modules

Помогите решить проблему

 ,

user141
()

Курс по компиляторам

Форум — Development

В 14-м году на курсере был классный курс, который я упустил. А сейчас понял что очень хочется его пройти. После гуглежа оказалось, что курс доступен бесплатно без смс прямо на сайте стенфорда.

Вот, выкладываю ссылку (может будет полезно кому-нибудь) https://lagunita.stanford.edu/courses/Engineering/Compilers/Fall2014/

Если есть ещё слоупоки кроме меня, то давайте вместе проходить!

 , ,

dsxl
()

Вечер срыва покровов о том, как душат микро бизнес в России

Форум — Talks

ИП со стажем 7 лет.
В т.ч. большой опыт работы с госзаказом.

Задавайте ваши вопросы (кому интересно). На все корректные отвечу.

АТО (с) очень много волос у меня выпадает, когда читаю перлы про микробизнес в России.

 

dk-
()

10 лет с Колибри: как это было

Новости — Open Source
Группа Open Source

Обзор от дизайнера и прикладного разработчика KolibriOS в честь 10-летия его участия в проекте.

>>> Читать обзор

 , , ,

Badboy
()

Средние и длинные тире

Форум — Desktop

Долго терпел костыль с копипастом, но надоело. Как белые люди в Линуксе вводят сабжевые символы, не прибегая к таблицам символов и буферу обмена? Нагуглил способ с клавишей Compose, в настройках Плазмы назначил эту клавишу на Капслок, но нажатие двух/трёх дефисов при зажатом Капслоке ни к чему не приводят.

ЧЯДНТ?

 , , ,

Deleted
()

Что такое тензор?

Форум — Development

Читал-читал... Тензор - он всё. Базовый «пакет» данных, к операциями над которым сводятся любые востребованные в области ML вычисления?

Вектор, матрица и даже скаляр - частные случаи тензора.

А можно как-то более простыми словами для дегенератов объяснить, что это такое и в чём абстрактная красота и универсальность понятия?

Недаром ведь «поток тензоров» - TensorFlow...

 

hlamotron
()

dwm кириллица

Форум — General

Есть ли возможность использовать шрифт Terminus в dwm что бы была поддержка кириллицы ? Ибо там уже xft.

 , ,

Linux_Joi
()

Подготовка к интервью на sre

Форум — Talks

ЛОР, буквально через три недели еду на онсайт интервью на sre. Как можно подготовиться? Что почитать?

Уже читаю SRE book, linux kernel development и cracking the coding interview.

Перемещено leave из development

 , ,

redvicka
()

Новые условия использования сервиса GitHub

Новости — Open Source
Группа Open Source

1 марта 2017 года в условия использования GitHub (секция D) были внесены пункты, которые несовместимы с требованиями атрибуции некоторых лицензий, таких как (A/L)GPL и CC-*-SA, а также с лицензиями, которые накладывают условия на использование. Лицензии MIT и BSD, возможно, не затронуты этим изменением. Проекты, которые используют несовместимые лицензии, нарушают условия использования сервиса и должны быть удалены.

Разбор (на английском)

>>> Подробности

 ,

Shaman007
()

Как жить с этими светодиодными лампами?

Форум — Talks

Вот типа энергосберегайки люминяшки в ~5 раз меньше обычных. Светодиодки типа в 9-10 раз меньше. Но блин, как же они светят шо пипец в глаза, на них невозможно глядеть! Может какой-то способ рассеивания есть простой?

Плюс, даж с этой штукой свет конфентрированный, когда у люминисцентной свет рассеивается во все стороны, в итоге и площадь больше освещена, и при взгляде норм.

При этом светодиодки встречаются даже по меньшей цене, чем люминяшки — 130₽ за 13 ватт, когда 25-ваттка-люминяшка у нас от 150 стоит, по обзорам типа «хвалят», но выжигание глаз ппц

 , ,

Dreamject
()

Будущее vimperator

Форум — General

Есть сомнение, что vimperator сможет работать в следующих версиях:

Firefox 53 (18th April 2017)
Firefox 57 (28th November 2017)

1) Какие есть выходы, чтобы не менять сложившиеся привычки работы в браузере (вариант firefox + vimperator)?

2) Какую комбинацию из firefox/palemoon/vimperator/pentadactyl стоит предпочесть, чтобы не менять привычки в ближайшие годы?

3) Или менять привычки всё равно придётся, и имеет смысл сразу использовать chromium + vimium, etc.?

4) А если окончание поддержки очевидно, то почему разработчики vimperator продолжают разработку?

 , , ,

Deleted
()