Home
codingteam
codingteam@conference.jabber.ru
07.07.2013< ^ >

Тема: C/С++, Haskell, Ruby, Python, Perl, Lisp, Erlang, OCaml, JavaScript, Scala, Nemerle, F#.
Код выкладывать на http://dumpz.org
Вопросы задавать в чат, а не в личку.
Логи: http://tinyurl.com/ctcjr-logs
Упоминания о Flash, Java, .NET, PHP, Pascal/Delphi/Borland, 1С караются съеданием поциента.
Личкрафты: http://leechcraft.org и git://github.com/0xd34df00d/leechcraft.git
Horta Hell: https://github.com/ForNeVeR/horta-hell
Проблем решено: 0x14
Говорящих демонов: 0x1

=> Объявляется неделя Clojure.
[00:00:00] <j123123> ktt9: Ты то сам сможешь написать сортировку слиянием?
[00:00:16] <j123123> Хотел бы я взглянуть на твой код
[00:02:20] <ktt9> qsort(a, len, sizeof(int),
[00:02:36] <j123123> Не считается
[00:02:53] <j123123> Более того, qsort это не merge sort
[00:03:03] <ktt9> Мой код будет таким.
[00:03:10] <ktt9> Когда мне понадобится сортировка.
[00:03:25] <ktt9> Я не буду писать мерджсорт.
[00:03:30] <j123123> Потому что не можешь
[00:03:36] <ktt9> ._.
[00:03:50] <ktt9> Я тебе полчаса назад объяснял его асимптотику.
[00:04:12] <j123123> Ну так напиши
[00:04:16] <ktt9> Не буду, лол.
[00:04:24] <j123123> Я про асимтотику могу в википедии найти и без тебя
[00:04:39] <ktt9> Ок.
[00:04:47] <j123123> Впрочем, не обижайся
[00:05:18] <j123123> Просто я серьезно считаю, что программист хотя бы раз должен сам реализовать всякие там сортировки
[00:05:26] <j123123> чтобы прочувствовать их
[00:05:34] <j123123> И чтобы они не казались ему какой-то магией
[00:05:45] <j123123> Особенно хорошо, если их делать на ассемблере
[00:06:09] <ktt9> А как ты думаешь, если человек знает, как выводится оценка какого-то алгоритма, считает он его магией, или нет?
[00:06:33] <j123123> Я думаю, что если он не может самостоятельно реализовать такой алгоритм, то тут явно что-то не так
[00:06:43] <j123123> Пусть даже он на словах может описать его работу
[00:06:57] <ktt9> У тебя какие-то рамки широкие.
[00:07:04] <ktt9> В нужную тебе сторону.
[00:07:11] <ktt9> Скользкий ты тип.
[00:07:17] <ktt9> :<
[00:08:03] <j123123> :3
[00:08:29] <ktt9> "Не хочет" приравнял к "не может", "вывести асимптотику" к "описать работу на словах".
[00:08:45] <ktt9> Я эти сортировки в школе и на младших курсах писал. Надоело.
[00:08:51] <ktt9> Давай лучше фильтр Блума писать.
[00:08:57] <ktt9> Гораздо интереснее, по-моему.
[00:09:29] <j123123> Видел я, как ты сортировку пузырьком писал...
[00:09:56] <j123123> До фильтра Блума далековато еще
[00:09:59] <j123123> (без обид)
[00:10:04] <ktt9> Мда.
[00:10:33] <j123123> Не, ну серьезно
[00:11:16] <j123123> Фильтр Блума тоэе уже неоднократно написан
[00:11:21] <j123123> *тоже
[00:11:32] <ktt9> Мной еще ни разу, например.
[00:11:50] <j123123> Современное промышленное программирование это в 95 случаев написание велосипедов
[00:12:19] <j123123> Что-то, что уже кем-то давно сделано, но надо свое, родное
[00:12:35] <j123123> Да и не только промышленное
[00:12:48] <j123123> В опенсорсе тоже зоопарк велосипедов
[00:13:04] <j123123> Но в опенсорсе по крайней мере можно взять чей-то готовый код, вместо написания своего
[00:13:32] <j123123> А проприетарщики должны или искать код под либеральной (не копилефт) лицензией или какой-нибудь LGPL
[00:13:33] <j123123> ИЛИ
[00:13:42] <j123123> покупать библиотеки
[00:13:43] <j123123> ИЛИ
[00:13:49] <j123123> изобретать велосипеды
[00:15:00] <j123123> ktt9: Над какими программистскими задачами ты бы хотел работать?
[00:16:28] sss|zombie зашёл в конференцию
[01:06:02] emu-nero~ зашёл в конференцию
[01:13:30] emu-nero~ вышел из конференции
[02:51:10] n4nn31355 вышел из конференции
[03:03:22] m4n71k0r вышел из конференции
[04:01:19] sss|zombie вышел из конференции
[07:38:38] reggies зашёл в конференцию
[07:50:46] rexim зашёл в конференцию
[07:51:02] <rexim> Утрота, черт возьми!
[07:51:04] <rexim> .ping
[07:51:05] <DeadBot> rexim: понг от тебя 0.09 секунды
[07:51:06] <rexim> .ping
[07:51:07] <DeadBot> rexim: понг от тебя 0.09 секунды
[07:51:08] <rexim> .ping
[07:51:09] <DeadBot> rexim: понг от тебя 0.08 секунды
[07:51:17] <rexim> Отличненько!
[08:05:14] <j123123> .ping
[08:05:14] <DeadBot> j123123: понг от тебя 0.07 секунды
[08:05:16] <j123123> .ping
[08:05:16] <DeadBot> j123123: понг от тебя 0.03 секунды
[08:05:17] <j123123> .ping
[08:05:17] <DeadBot> j123123: понг от тебя 0.04 секунды
[08:05:27] <j123123> Салат из ка <https://www.youtube.com/watch?v=9EmZ3wwpOng>
[08:05:50] <j123123> фигня вствилась
[08:05:54] <j123123> пофиг
[08:27:45] rexim вышел из конференции
[08:29:08] reggies вышел из конференции: offline
[08:30:49] Александр Николаевич зашёл в конференцию
[08:44:01] rexim зашёл в конференцию
[09:03:37] reggies зашёл в конференцию
[09:40:58] <ForNeVeR> По-моему, HWND от HINSTANCE ничем не отличается.
[09:41:04] <ForNeVeR> Всё это void*.
[10:02:35] reggies вышел из конференции: offline
[10:08:07] m4n71k0r зашёл в конференцию
[10:24:23] <rexim> Вся наша жизнь это void*.
[10:24:26] <rexim> И лишь от тебя зависит, к чему ты ее прикастуешь.
[10:24:34] * rexim is so inspirational.
[10:30:10] <ForNeVeR> (short)life;
[10:32:19] <rexim> :3
[10:32:28] <rexim> http://www.ariel.com.au/jokes/The_Evolution_of_a_Programmer.html
[10:36:50] PhoSor зашёл в конференцию
[10:46:07] moonhawk зашёл в конференцию
[10:53:07] reggies зашёл в конференцию
[10:53:15] Александр Николаевич вышел из конференции: Я использую Miranda IM Freize Pack (http://freize.ru/)
[10:57:13] пкщгяут[slacktop] зашёл в конференцию
[11:10:23] <j123123> http://ideone.com/eaXljo не помню точно, показывал ли я сие творение
[11:10:28] <j123123> Кажется, нет
[11:10:34] <j123123> Но кое где показывал
[11:10:41] <j123123> Это так можно atoi делать
[11:10:52] <j123123> Но оно достаточно специализированное, мусора не терпит
[11:11:13] <ForNeVeR> j123123: нахуя ты ставишь "+\"?
[11:11:39] <j123123> Чтобы в столбец так красиво зафигачить
[11:11:41] <j123123> Ну там
[11:11:45] <ForNeVeR> Чего.
[11:12:15] <ForNeVeR> http://ideone.com/BfMfcy - осталось так же в столбец, только без \
[11:13:10] <j123123> Не знал
[11:14:18] <ForNeVeR> о_О
[11:15:39] <rexim> o_O
[11:15:57] <rexim> j123123: макросы схавали твой мозг.
[11:15:59] <ForNeVeR> j123123: кароч, сишечка считает переносы строк обычным вайтспейсом всегда, кроме некоторых случаев: в #-директивах, внутри строковых литералов, в //-комментариях.
[11:16:46] <j123123> Ну я в макросах привык фигачить
[11:16:57] <rexim> > rexim: j123123: макросы схавали твой мозг.
[11:17:02] <j123123> да
[11:17:18] <ForNeVeR> <rexim> > rexim: j123123: макросы схавали твой мозг.
[11:17:25] <j123123> Отхаваются
[11:17:27] <rexim> > ForNeVeR: <rexim> > rexim: j123123: макросы схавали твой мозг.
[11:17:29] <j123123> как-нибудь
[11:17:53] <ForNeVeR> Ну да, конечно.
[11:18:26] reggies вышел из конференции: offline
[11:18:29] <j123123> Я этот битоебский алгоритм долго придумывал
[11:18:49] <ForNeVeR> Э, алгоритм чего?
[11:19:01] <ForNeVeR> По-моему, ты там просто разбиваешь число на части двумя способами.
[11:19:04] <j123123> Сдвигов
[11:19:23] <ForNeVeR> А хотя нет, я ошибся.
[11:19:42] <ForNeVeR> Ты там двочино-десятичную систему чтоли запилил?
[11:20:42] <j123123> Ну там короче, надо смотреть на таблицу аскии кодов
[11:20:51] <ForNeVeR> Алсо, ты в курсе, что кастование указателей нарушает алиасинг?
[11:21:05] <ForNeVeR> В сишном компиляторе вообще есть strict aliasing? Я почти уверен, что да.
[11:21:35] <j123123> Выравнивание да
[11:21:53] <j123123> Можно задать, чтобы какая-то штука была каким-то там образом выравнена
[11:22:08] <j123123> Есть для этого средства в GCC
[11:22:10] rexim вышел из конференции
[11:22:20] <j123123> ((attribute)) что-то там
[11:22:42] <ForNeVeR> Ясно. Ты ничего не знаешь про strict aliasing.
[11:22:56] <ForNeVeR> И про type compatibility, похоже, тоже.
[11:23:28] <ForNeVeR> Насколько я понимаю, типы int8_t[8] и unit64_t несовместимы.
[11:23:38] <ForNeVeR> И поэтому твой код - UB.
[11:23:42] <j123123> Массив из интов
[11:24:11] <j123123> И мы ставим указатель на unit64_t в начало массива
[11:24:47] <ForNeVeR> Да, тебе ещё многое предстоит узнать.
[11:24:57] <j123123> А что тут?
[11:25:03] <j123123> В ассемблере всё просто и понятно
[11:25:14] <j123123> если читнуть ассемблерный выхлоп
[11:25:42] <ForNeVeR> http://ideone.com/f53sg
[11:25:46] <ForNeVeR> Смотри последний ворнинг.
[11:25:51] <ForNeVeR> И подумай, откуда он.
[11:26:25] moonhawk вышел из конференции
[11:27:31] <j123123> ForNeVeR: Каким образом ты массив из байтиков предлагаешь переводить в unit64_t?
[11:27:40] <j123123> С флоатами особая тема
[11:27:41] <ForNeVeR> j123123: http://stackoverflow.com/a/7005988
[11:27:55] <ForNeVeR> j123123: я предлагаю использовать способ, разрешённый стандартом.
[11:28:01] <ForNeVeR> А какой - попробуй догадаться сам.
[11:28:22] <j123123> Есть кусок памяти
[11:28:27] <j123123> В нем байтики
[11:28:39] <j123123> На кусок памяти ставим указатель
[11:28:43] <ForNeVeR> И всё.
[11:28:48] <ForNeVeR> Ты уже проебал.
[11:28:48] <j123123> Читаем байтики как unit64_t
[11:28:53] <ForNeVeR> Всё проебал, понимаешь?
[11:28:55] <j123123> Что?
[11:28:59] <ForNeVeR> Вообще всё.
[11:29:03] <j123123> Каким образом?
[11:29:04] <ForNeVeR> Программа так работать не будет.
[11:29:06] <j123123> Обоснуй
[11:29:11] <ForNeVeR> Не буду.
[11:29:16] <ForNeVeR> Читай стандарт языка, на котором пишешь.
[11:29:21] <ForNeVeR> Читай про strict aliasing.
[11:29:28] <j123123> Это Си, а не плюсы
[11:29:33] <j123123> Там свой стандарт
[11:29:35] <ForNeVeR> Ты долбоёб?
[11:29:38] <j123123> Нет
[11:29:39] <ForNeVeR> А, ну да.
[11:29:47] <ForNeVeR> Я тебе дал линк, простофиля.
[11:29:58] <ForNeVeR> Читай, что тебе пишут.
[11:30:03] <ForNeVeR> А не только то, что ты пишешь.
[11:30:53] <j123123> ForNeVeR: А почему компилятор не выругался ворнингами на http://ideone.com/BfMfcy код?
[11:31:07] <j123123> И еще раз повторю вопрос, на который ты не ответил
[11:31:09] <ForNeVeR> Смотрим http://publib.boulder.ibm.com/infocenter/comphelp/v7v91/index.jsp?topic=/com.ibm.vacpp7a.doc/language/ref/clrc03compatible_types.htm и недоумеваем.
[11:31:13] <j123123> ForNeVeR: Каким образом ты массив из байтиков предлагаешь переводить в unit64_t?
[11:31:25] <ForNeVeR> j123123: а ты сам не догадался?
[11:31:59] <j123123> Я хочу получить ответ от тебя
[11:32:00] <ForNeVeR> Насколько я вижу, эти типы не должны считаться совместимыми.
[11:32:08] <ForNeVeR> Просто gcc не всегда выдаёт ворнинги.
[11:32:14] <ForNeVeR> j123123: ты догадался или нет?
[11:32:21] <j123123> Есть вариант с union, но это undefined behavior
[11:32:28] <ForNeVeR> Нет, с union как раз defined.
[11:32:31] <ForNeVeR> И это правильный ответ.
[11:33:34] <j123123> А я вроде как слышал совсем противоположную точку зрения на сей счет
[11:34:38] <ForNeVeR> Я полагаю, что ты подразумеваешь какое-нибудь ебанистическое кастование указателя на int к указателю на union { int; char[4]; }, которое, разумеется, работает так же плохо, как твой вариант.
[11:35:49] <j123123> http://stackoverflow.com/questions/1812348/a-question-about-union-in-c
[11:35:53] <j123123> Вот например
[11:36:49] <ForNeVeR> С ними можно обращаться так, что будет defined.
[11:37:01] <j123123> Покажи пример
[11:37:11] <ForNeVeR> Он у тебя на экране.
[11:37:29] <ForNeVeR> Как видишь, тут вся неопределённость заключается в том, что компилятор не инициализирует байты, которые ты явно не проинициализировал сам, или же путает endianess.
[11:37:47] <ForNeVeR> Первое легко устранить, а второе тебя не беспокоит, т.к. код только для одного порядка байт.
[11:39:12] <ForNeVeR> j123123: алсо, там же обсуждается возможность распиливания int'а на кусочки. И это легально можно делать.
[11:40:02] <j123123> Понятно
[11:40:14] <j123123> Но лучше с этим работать через ассемблер
[11:40:15] <j123123> Там четче
[11:40:31] <j123123> Компилятор вряд ли сможет грамотно все огранизовать
[11:41:32] <j123123> Вообще, советую читать то, что выдает компилятор в ассемблере
[11:41:48] <j123123> Начинаешь понимать, что компиляторы еще далеки от совершенства
[11:41:49] <ForNeVeR> Советую не использовать такие компиляторы.
[11:41:54] <j123123> Да любые
[11:41:59] <ForNeVeR> Да, любые.
[11:42:05] <ForNeVeR> Советую не использовать любые компиляторы.
[11:42:07] <j123123> Все на асме писать?
[11:42:10] <ForNeVeR> Нет.
[11:42:10] <j123123> Или что ты советуешь?
[11:42:18] <ForNeVeR> Не писать.
[11:42:24] <j123123> Совет отвергнут
[11:42:25] <ForNeVeR> Лучше вообще никак не писать, чем слушать тебя.
[11:42:36] <j123123> Тебе - может быть
[11:42:43] <j123123> Но не мне
[11:43:05] <j123123> Я вообще люблю дизассемблировать всякую фигню
[11:43:33] <j123123> И осознавать несовершенство компиляторов
[11:45:47] <PhoSor> ололо
[11:46:07] <PhoSor> я люблю читать ж123 и осозновать несовершенство мира
[11:46:20] <ForNeVeR> PhoSor: жжошь.
[11:50:17] <PhoSor> ForNeVeR: огонь в сердцах? :3
[12:02:11] <j123123> ForNeVeR: http://ideone.com/5xlXGV
[12:03:05] <ForNeVeR> j123123: да, с memcpy тоже нормально. Только вот это реально вызов memcpy, который компилятор вряд ли оптимизирует.
[12:03:25] <ForNeVeR> А веселье с union'ами - оптимизирует.
[12:11:02] <j123123> ForNeVeR: А каким образом ты предлагаешь выделить кусок памяти как если бы через static, но чтобы можно было во что угодно кастовать?
[12:11:15] <j123123> http://ideone.com/XpzEj5 вот кстати еще вариант
[12:11:16] <j123123> лол
[12:11:17] <ForNeVeR> j123123: придумай что-нибудь сам.
[12:12:34] <j123123> Анонимная хренота в новом сишкостантарте
[12:13:02] moonhawk зашёл в конференцию
[12:13:21] <ForNeVeR> Да, тебе остаётся только ассемблер.
[12:13:31] <ForNeVeR> Хорошо ещё, что для него не запиливают новые стандарты.
[12:13:53] <ForNeVeR> Хотя ассемблер с лямбдами бы смотрелся прекрасно :3
[12:14:24] <PhoSor> анонимные метки уже есть
[12:14:29] <j123123> Почему только ассемблер?
[12:14:31] <j123123> Лол
[12:14:39] <j123123> Я вот SML и Racket упарывал
[12:14:41] <j123123> Вроде норм
[12:14:50] <j123123> Думаю еще хачкель попробовать
[12:14:52] <ForNeVeR> Кстати!
[12:14:56] <ForNeVeR> Вовремя ты напомнил.
[12:15:05] <ForNeVeR> Я же хотел поделать упражнения из TaPL.
[12:15:21] <PhoSor> ForNeVeR: смотри-ка, поциент то на поправку пошел :3
[12:15:31] <j123123> осонгблир
[12:15:41] <ForNeVeR> PhoSor: цодингтимские методы лечения непобедимы.
[12:15:47] <PhoSor> дыа
[12:15:56] <j123123> сами вы поциенты :3
[12:16:03] <ForNeVeR> Цодингтим - как уринотерапия.
[12:16:08] <ForNeVeR> Только увернуться ещё сложнее.
[12:22:26] rexim зашёл в конференцию
[12:22:38] <j123123> http://habrahabr.ru/post/154033/ тут кстати какую-то ерунду написали
[12:23:00] <j123123> char str2[4] = "1234"; // ошибка, компилятор не даст создать такой массив
[12:23:04] <j123123> Даст
[12:23:11] <j123123> Нулевой байтик срежет
[12:23:25] <j123123> GCC даст
[12:23:38] <j123123> Вижуальстудиевый может и не даст
[12:24:01] <ForNeVeR> j123123: мухаха.
[12:24:03] <ForNeVeR> Не даёт.
[12:24:09] <ForNeVeR> http://ideone.com/nXHD7h
[12:24:15] <j123123> Можно через memcpy извернуться
[12:24:35] <ForNeVeR> Снова тянем в рантайм костыли для компилятора? Ну-ну.
[12:25:04] <j123123> http://ideone.com/focfcx
[12:25:09] <j123123> В сишке норм
[12:25:12] <ForNeVeR> Сишный компилятор даёт.
[12:25:14] <j123123> Плюсы соснули
[12:25:15] <ForNeVeR> C++ не даёт.
[12:25:18] <ForNeVeR> И правильно.
[12:26:02] <ForNeVeR> C++ - великолепный язык. Добавили столько новых способов выстрелить себе в ногу. А вы всё ещё пытаетесь использовать старые? Ну уж нет! Запретим их!
[12:28:52] <j123123> http://m4n71k0r.psto.net/teiigz#4 вот тут я m4n71k0r-у дал ссылку на сравнение ругани в комплияторах разных
[12:28:54] <j123123> на плюсокод
[12:29:03] <j123123> может кому интересно будет
[12:29:29] <j123123> http://people.redhat.com/bkoz/diagnostics/diagnostics.html сама ссылка
[12:29:36] <ForNeVeR> По-моему, там всё ок.
[12:29:51] Александр Николаевич зашёл в конференцию
[12:31:10] <j123123> http://people.redhat.com/bkoz/diagnostics/diagnostics.html#9335 как многотекста
[12:31:51] <j123123> или тут http://people.redhat.com/bkoz/diagnostics/diagnostics.html#43113
[12:32:29] <ForNeVeR> И тем не менее, там ок.
[12:32:53] <j123123> http://people.redhat.com/bkoz/diagnostics/testsuite/ можете протестировать
[12:32:55] reggies зашёл в конференцию
[12:33:14] <ForNeVeR> Зачем протестовать? Всё же в порядке.
[12:33:31] <j123123> Да ну?
[12:33:39] <ForNeVeR> Ну да.
[12:34:00] <j123123> Такая мощная ругать на такие короткие штуки
[12:34:05] <j123123> это подозрительно
[12:34:08] <ForNeVeR> Чего.
[12:34:30] <ForNeVeR> Ты бы ещё взял стек-трейс не оптимизированной рекурсивной функции, и ругался на него.
[12:34:52] <j123123> http://people.redhat.com/bkoz/diagnostics/diagnostics.html#43113 вот тут например gcc коротко и ясно сказал все
[12:35:08] <j123123> А clang явно рехнулся от такого
[12:36:06] <ForNeVeR> Нет, в clang тоже всё нормально.
[12:36:16] <j123123> Как знаешь
[12:36:23] <ForNeVeR> Является ли обязанностью компилятора сокращать тексты ошибок?
[12:36:56] <ForNeVeR> Обычно этим занимается IDE или другой инструмент, ответственный за написание кода. Чтобы привязывать эти ошибки к контексту, собственно, кода.
[12:37:05] <j123123> Нормально ли, когда текст ошибки длиннее самой программы?
[12:37:05] <ForNeVeR> Так что в компиляторе эта функциональность не требуется.
[12:37:09] <ForNeVeR> Юникс-вей.
[12:37:14] <ForNeVeR> j123123: да, нормально.
[12:37:40] <ForNeVeR> Я уверен, что текст ошибки в программе
> хуй
будет длиннее самой программы практически на любом языке.
[12:38:02] <ForNeVeR> http://ideone.com/ygJwa1
[12:38:06] <ForNeVeR> Вот, собственно.
[12:38:11] <ForNeVeR> Нахуя столько ошибок?
[12:38:39] <j123123> Это слишком частный случай
[12:38:39] <ForNeVeR> Там больше строк с ошибками, чем *символов* в программе :)
[12:39:10] <j123123> А там совсем иная ситуация, если посмотреть по ссылке
[12:39:17] <ForNeVeR> К тому же, похоже, компилятор не воткнул в UTF-8.
[12:39:26] <ForNeVeR> j123123: нет, по-моему, там такая же ситуация.
[12:39:32] <j123123> Там оно как-то эту хрень разворачивает, и на эту развернутость ругается
[12:40:19] <ForNeVeR> http://ideone.com/8fiCnk
[12:40:24] <ForNeVeR> Почему эта программа не работает?
[12:40:34] <ForNeVeR> Твоя претензия столь же обоснованна, как моя.
[12:40:47] <j123123> Это рекурсия
[12:41:04] <ForNeVeR> Дак и там рекурсия, недоросль ты наш.
[12:41:36] <j123123> http://ideone.com/Znv3Zj почему тут Runtime error?
[12:42:40] <j123123> Сложный вопрос, да?
[12:55:23] <ForNeVeR> Нет, ничего сложного.
[12:55:37] <ForNeVeR> stdlib ожидает, что main - это функция.
[12:55:45] <ForNeVeR> А у тебя это, внезапно, int.
[12:55:52] <ForNeVeR> Оно, наверное, пытается на него передать управление.
[12:56:07] <j123123> казалось бы, причем тут stdlib
[12:56:24] <ForNeVeR> Ну а кто в gcc определяет код пролога?
[12:56:42] <ForNeVeR> libc?
[12:56:52] <j123123> http://habrahabr.ru/post/181021/
[12:57:06] <j123123> Такая программа вылетает с ошибкой, потому что пытается выполнить main как функцию, в то время как компилятор поместил её в неисполняемый сегмент с данными.
[12:57:24] <j123123> Можно компилировать вообще без стандартной библиотеки
[12:57:39] <ForNeVeR> Ну, я угадал.
[12:57:43] <ForNeVeR> Только по поводу либы ошибся.
[12:57:45] <j123123> nostdlib
[12:57:55] <j123123> Можно даже вообще без main
[12:58:06] <j123123> через start
[12:58:10] <ForNeVeR> Но в вендах, насколько я помню, на main передаёт управление именно crt.
[12:58:23] <ForNeVeR> А без неё надо юзать какой-то ебанутый _tmain.
[12:59:06] <j123123> можно юзать winmain еще
[12:59:13] ktt9 вышел из конференции
[12:59:20] <j123123> Там всякой нестандартной фигни наплодили, в этой вашей винде
[13:00:38] emu-nero~ зашёл в конференцию
[13:01:00] Green Tea зашёл в конференцию
[13:01:44] <Green Tea> будет кто в killing floor?
[13:06:56] <j123123> Игры это не сюда
[13:07:08] <Green Tea> ок
[13:07:10] Green Tea вышел из конференции
[13:08:09] <rexim> Не люблю зеленый чай.
[13:08:40] <ForNeVeR> Я тоже.
[13:08:47] <ForNeVeR> Обычный полущ.
[13:09:05] <rexim> Что такое полущ? Какая-то трава?
[13:09:08] <rexim> Ты ее завариваешь?
[13:09:11] <rexim> И как она?
[13:09:13] <ForNeVeR> ~_~
[13:12:17] <rexim> Что за пиздец у гугла в картинках на запрос "полущ"?
[13:12:44] <ForNeVeR> Котик?
[13:13:01] <rexim> У меня целых два.
[13:14:13] <ForNeVeR> А ещё там ёжики.
[13:14:18] <ForNeVeR> И, например, вот это: http://cs319719.userapi.com/v319719700/48b7/iAILM00Tf2w.jpg
[13:15:08] <emu-nero~> это ящерица.
[13:15:19] <rexim> Это все, что можно увидеть выпив экстракт полуща!
[13:15:47] <ForNeVeR> rexim: если искать в обычном гугле, то можно сразу выяснить, что "полущ - это дедфудщина какая-то".
[13:15:58] <rexim> Лол
[13:16:07] <ForNeVeR> Серьёзно. Чекни первый линк.
[13:16:24] <rexim> Я тебе верь.
[13:16:31] <rexim> Ты меня никогда не обманывал.
[13:16:35] <rexim> Так ведь?
[13:16:47] <emu-nero~> http://cs406122.vk.me/v406122903/8745/mVTSjKU6KVE.jpg
[13:17:08] <emu-nero~> =(
[13:17:13] <emu-nero~> что там напесано?(
[13:17:23] <PhoSor> "лущ" лущ чем "полущ".
[13:17:34] <ForNeVeR> PhoSor: а ты дедфуд.
[13:17:56] <PhoSor> бля
[13:17:59] <PhoSor> > "лущ" лущ чем "полущ".
[13:18:06] <PhoSor> это была цитата
[13:18:09] <ForNeVeR> А что, не лущ?
[13:18:13] <ForNeVeR> Это была цитата цитаты.
[13:18:13] <rexim> Ехал лущ через полущ.
[13:18:21] <emu-nero~> http://huick.bitcheese.net/ s/
[13:18:22] <emu-nero~> ы.
[13:20:26] <rexim> .ping
[13:20:27] <DeadBot> rexim: понг от тебя 0.09 секунды
[13:20:28] <rexim> .ping
[13:20:29] <DeadBot> rexim: понг от тебя 0.09 секунды
[13:20:29] <rexim> .ping
[13:20:31] <DeadBot> rexim: понг от тебя 0.10 секунды
[13:20:43] <rexim> =\
[13:21:24] <emu-nero~> ForNeVeR: я не могу гайку отвинтить на заднем колесе
[13:21:30] <emu-nero~> что мне делать, мудрый? :(
[13:21:54] <rexim> нудный*
[13:22:05] <ForNeVeR> emu-nero~: возьми ключ.
[13:22:20] <rexim> И зашифруй по нему гайку!
[13:36:36] <m4n71k0r> хм... баллончик с воздухом - клёвая игрушка)
[13:37:06] <m4n71k0r> особенно если использовать не по инструкции
[13:40:57] <moonhawk> "не по инструкции" тащемта любая вещь тогда: "клёвая игрушка".
[13:41:00] emu-nero~ вышел из конференции
[13:41:33] sss|zombie зашёл в конференцию
[13:46:02] emu-nero~ зашёл в конференцию
[13:46:20] <emu-nero~> хорька питает какую-то странную любовь к wd-40
[13:46:41] <emu-nero~> m4n71k0r: им лягушек можно надувать.
[13:46:42] <emu-nero~> и девок.
[13:46:59] <emu-nero~> с обморожением.
[13:47:02] <m4n71k0r> с применением криогенных технологий
[13:47:04] <m4n71k0r> ага
[13:47:22] <m4n71k0r> особенно, если баллончик перевернуть или боком держать
[13:47:27] <emu-nero~> ;3
[13:47:36] <ForNeVeR> Девку боком держать?
[13:47:51] <PhoSor> ForNeVeR: лягушку же
[13:47:56] <emu-nero~> девку можно вверх ногами.
[13:48:16] <PhoSor> иногда так лущ
[13:48:19] <ForNeVeR> emu-nero~: они так не любят.
[13:48:28] <PhoSor> ForNeVeR: любят
[13:48:30] <emu-nero~> ForNeVeR: пробовал?
[13:48:35] <emu-nero~> мои любили.
[13:49:28] <emu-nero~> правда, они все воображаемые.
[13:51:03] <PhoSor> ForNeVeR: ты там пробуешь штоле?
[13:55:59] sss|zombie вышел из конференции
[14:12:06] rexim вышел из конференции
[14:31:51] rexim зашёл в конференцию
[14:47:46] Graf вышел из конференции
[14:53:57] Graf зашёл в конференцию
[14:54:06] Graf вышел из конференции
[15:18:20] <PhoSor> тимота, как HtDF и javadoc связаны между собой
[15:18:42] <PhoSor> как их сочетать лучше всего
[15:23:39] reggies вышел из конференции: offline
[15:28:37] reggies зашёл в конференцию
[15:38:51] <emu-nero~> связаны как говно с говном.
[15:38:58] <emu-nero~> молекулярная связь!
[15:40:34] reggies вышел из конференции
[15:52:29] enaken зашёл в конференцию
[16:19:19] yesyes зашёл в конференцию
[16:49:12] Glorious Chaplain of the Hortamarines зашёл в конференцию
[17:11:43] PhoSor вышел из конференции
[18:07:40] generatorglukoff зашёл в конференцию
[18:23:08] Александр Николаевич вышел из конференции: Я использую Miranda IM Freize Pack (http://freize.ru/)
[18:48:04] proto_21h зашёл в конференцию
[19:06:22] <j123123> ГОВНО
[19:06:41] <ForNeVeR> .kick j123123
[19:06:41] j123123 выгнали из конференции: DeadBot
[19:06:42] <DeadBot> ForNeVeR: ok
[19:06:59] j123123 зашёл в конференцию
[19:07:07] <j123123> ForNeVeR: :3
[19:07:24] <ForNeVeR> j123123: слы, а ты в курсе, как работает FPU?
[19:07:43] <j123123> Ну там стек специальный организован
[19:08:01] <j123123> В старых процах оно работает асинхронно относительно процессора основного
[19:08:11] <j123123> и вообще выносилось в отдельный модуль
[19:08:24] <ForNeVeR> j123123: а как он синусы считает?
[19:08:43] <j123123> Через CORDIC
[19:08:44] <ForNeVeR> Лучше всего дай кейворды, по которым я смогу ознакомиться.
[19:09:51] <j123123> Сча
[19:09:57] <ForNeVeR> j123123: ок, спасибо.
[19:10:02] <ForNeVeR> Кордика достаточно.
[19:10:13] <j123123> Я когда-то на стековерфлоу находил про то, что в процыках через кордик аппаратно считает синусы
[19:10:38] <emu-nero~> вы оба ткие умные.
[19:11:25] <ForNeVeR> На педивикии пишут, что в крупном оборудовании дешевле использовать table lookup.
[19:11:42] <ForNeVeR> А CORDIC, как я понял, для старых процессоров или, например, для калькуляторов.
[19:11:55] <ForNeVeR> У нас просто в math@ дискуссия по этому поводу.
[19:13:03] <j123123> http://stackoverflow.com/questions/345085/how-do-trigonometric-functions-work/345117#345117
>Once you've reduced your argument, most chips use a CORDIC algorithm to compute the sines and cosines. You may hear people say that computers use Taylor series. That sounds reasonable, but it's not true
[19:14:40] <j123123> Вот кстати, в glibc программная считалочка синусов и косинусов реализована через Тейлора
[19:15:03] <j123123> Я исходничек даже находил
[19:15:13] <ForNeVeR> А зачем там программная считалочка? На случай компиляции под девайсы, где нету fsin?
[19:15:58] <j123123> Да
[19:16:11] proto_21h вышел из конференции
[19:16:13] <j123123> Есть процы вообще без флоатов
[19:16:33] <j123123> О какой аппаратной поддержке синусов там может идти речь?
[19:17:57] <j123123> http://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/ieee754/dbl-64/s_sin.c;hb=HEAD программное вычисление синусов косинусов в флоатах
[19:18:48] <j123123> Но вообще, такие вещи надо на осонблире писать
[19:20:30] <j123123> Вот например софтфлоат в ARM процыках
[19:22:41] <j123123> Можно еще GCC повкуривать, на предмет наличия в нем программной реализации синусов всяких
[19:22:55] <ForNeVeR> На темплейтах!
[19:26:11] <j123123> В GCC сишки больше, чем плюсов
[19:26:21] <j123123> И ассемблера больше, чем плюсов
[19:26:43] <j123123> Хотя не
[19:28:18] <j123123> Ассемблера меньше значительно, но асм очень хорошо прокомментирован
[19:28:36] <j123123> https://www.ohloh.net/p/gcc/analyses/latest/languages_summary
[19:30:40] generatorglukoff вышел из конференции
[19:39:36] <emu-nero~> ForNeVeR: почему даже какой-то й123123 умнее мня?:(
[19:48:39] Александр Николаевич зашёл в конференцию
[19:57:38] <j123123> http://ideone.com/MTYOfc вот вам умножение через сдвиги на Си, с особым, уличным юнит тестированием
[19:58:11] <j123123> if ( (a < 0) != (b < 0) )   {     negflag++;     a &= 0b0111111111111111;     b &= 0b0111111111111111;   } это можно убрать
[19:58:25] <j123123> Это я делал для знакового
[19:59:37] <j123123> Хотя компилятор скорее всего выкинет это
[20:08:38] <emu-nero~> input:
1 1
output: no
[20:08:42] <emu-nero~> output: no
[20:08:44] <emu-nero~> no
[20:09:15] <emu-nero~> j123123: ПОЧЕМУ ОНО НЕ РАБОТАЕТ?!
[20:13:57] <j123123> Оно работает
[20:14:04] <j123123> Суть в том, что оно ЗАВИСЛО
[20:14:09] <j123123> А это значит, что работает
[20:14:28] <j123123> А вот если бы не зависло, то не работало бы
[20:14:46] <emu-nero~> зачем нужны зависшие программы?
[20:14:57] <j123123> Для разнообразия
[20:15:02] <emu-nero~> не нужны.
[20:15:06] <j123123> Нужны
[20:15:11] <emu-nero~> чини.
[20:15:32] <j123123> Нет ты
[20:16:08] <j123123> Это такой способ проверки корректности умножения
[20:16:23] <j123123> Если он зависает, значит все работает
[20:16:37] <emu-nero~> суть работы приложений в результате
[20:16:47] <j123123> Суть в том, что оно зависает
[20:16:49] <emu-nero~> повисшая программа ведёт к неопределённому результату.
[20:17:05] <j123123> Повисшая программа - тоже результат
[20:17:10] <emu-nero~> нет.
[20:17:12] <j123123> Да
[20:17:15] <emu-nero~> это неопределённый результат.
[20:17:19] <emu-nero~> возврата нет.
[20:17:21] <j123123> Вполне определенный
[20:17:30] <j123123> Возврат нинужен
[20:17:39] <emu-nero~> неопределённый.
[20:17:51] <emu-nero~> программа может быть принудительна завершена из-за этого
[20:17:57] <emu-nero~> или вернуть результат
[20:18:05] <j123123> Можешь взять функцию multiply и делать с ней что хочешь
[20:18:13] <emu-nero~> но она повисает.
[20:18:19] <j123123> Она не зависает
[20:18:22] <j123123> Зависает цикл
[20:18:34] <j123123> Который для того и сделан, чтобы зависать
[20:18:53] <j123123> если все правильно
[20:18:59] <emu-nero~> так не должно быть.
[20:19:31] <emu-nero~> это плохой, не годный тест.
[20:37:33] <j123123> emu-nero~: http://ideone.com/pqGb8R Вот, доработал для тебя
[20:39:35] <emu-nero~> алсо.
[20:39:38] <emu-nero~> (unsigned short a, unsigned short b
[20:39:43] <emu-nero~> if ( (a < 0) != (b < 0) )
[20:39:47] <emu-nero~> что это за пиздец?
[20:41:17] <j123123> Там в последнем варианте этого нет
[20:41:37] <j123123> Вот эта if ( (a < 0) != (b < 0) ) штука использовалась в варианте, когда были знаковые числа
[20:41:40] <j123123> Кстати
[20:41:57] <j123123> Предлагаю переделать этот алгоритм под умножение двух знаковых
[20:42:08] <j123123> У меня-то уже есть
[20:43:12] <emu-nero~> лучше потереблю язычки.
[20:43:30] <j123123> Какие еще язычки?
[20:48:40] PhoSor зашёл в конференцию
[20:48:50] <emu-nero~> медные.
[21:08:15] rexim вышел из конференции
[21:21:34] <j123123> http://ideone.com/R2md9Q пофиксил
[21:39:08] Александр Николаевич вышел из конференции: Я использую Miranda IM Freize Pack (http://freize.ru/)
[22:00:31] PhoSor вышел из конференции
[22:10:24] enaken вышел из конференции
[22:11:42] enaken зашёл в конференцию
[22:12:19] yesyes вышел из конференции: Computer went to sleep
[22:12:21] <j123123> Некоторые вещи можно более-менее нормально делать только через интринсики
[22:19:18] enaken вышел из конференции
[22:31:32] <j123123> A right shift of a negative signed type is implementation defined
[22:37:47] moonhawk вышел из конференции
[22:38:47] <emu-nero~> http://en.wikipedia.org/wiki/Year_2000_problem
[22:38:50] <emu-nero~> у неё жаже логотип есть
[22:38:55] <emu-nero~> http://upload.wikimedia.org/wikipedia/commons/7/77/Y2K_Logo.gif
[22:38:59] <emu-nero~> настолько пиздец был чтоли?
[22:41:23] magog зашёл в конференцию
[23:12:30] yesyes зашёл в конференцию
[23:54:03] пкщгяут[slacktop] вышел из конференции
[23:54:39] пкщгяут[slacktop] зашёл в конференцию
Powered by freQ Powered by Python Valid XHTML 1.0 Transitional Valid CSS!