- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
static U64 mulU64byU64(U64 a, U64 b, U64 * high)
{
U64 b_high = 0;
U64 r_high = 0, r_low = 0;
U64 bit;
for (bit = 1; bit; bit <<= 1) {
if (a & bit) {
if (r_low + b < r_low)
r_high++;
r_low += b;
r_high += b_high;
}
b_high <<= 1;
b_high |= (b & (1ULL << 63)) >> 63;
b <<= 1;
}
if (high)
*high = r_high;
return r_low;
}
guest 09.08.2013 19:53 # −6
Как же меня одалевают питушарские 32битные постфиксы и эти ущербанские U64, ибо тупые маздайские питухи, которые даже stdint не осилили. Хотя указатель написал не как животное.
Хотя да, на 32битном говное нет 64битного умножения.
Ну и да, вариантик от Царя - накалякал тут:
Код не проверял, даже думать было лень, а особенно понимать как оно работает. Я потерял навыки за 2недели ничегонеделанья.
anonimb84a2f6fd141 09.08.2013 21:35 # +6
guest 09.08.2013 22:26 # −4
defecate-plusplus 09.08.2013 21:47 # +11
guest 09.08.2013 21:59 # −2
Ну и я уже писал, а так да - ходил в отпуск, только если бы ты следил за моими постами и онлайном - ты бы понял, что у меня отпуск 24/7.
vistefan 09.08.2013 22:13 # +5
> если бы ты следил за моими постами и онлайном
Да тут все только за тобой и следят, делать-то больше нечего...
bormand 09.08.2013 22:44 # +2
Я просто оставлю это здесь: http://govnokod.ru/13420#comment188514
guest 09.08.2013 22:56 # −2
Вы без меня вообще от рук отбились, ну ничего - осенью кончатся каникулы - я вам, питушкам, устрою. Говнокод утонет в говне, когда я возьмусь за свой хасвелл700.
LispGovno 10.08.2013 11:13 # +3
superhackkiller1997 10.08.2013 13:31 # 0
LispGovno 10.08.2013 13:56 # 0
someone 11.08.2013 18:59 # 0
guest 20.08.2013 11:09 # 0
bormand 20.08.2013 11:12 # −2
guest 20.08.2013 11:29 # −1
guest 20.08.2013 11:30 # −2
LispGovno 20.08.2013 23:06 # 0
Ох, доверчивый...
someone 20.08.2013 11:31 # 0
eth0 20.08.2013 21:16 # +2
anonimb84a2f6fd141 20.08.2013 21:31 # −1
someone 20.08.2013 21:43 # 0
anonimb84a2f6fd141 20.08.2013 21:47 # −1
3.14159265 20.08.2013 22:03 # +1
anonimb84a2f6fd141 20.08.2013 23:15 # 0
Разве что вот этим http://i.imgur.com/EcLFWNA.jpg
3.14159265 20.08.2013 13:02 # +2
Чем больше воды, тем выше корабль.
bormand 20.08.2013 13:07 # +1
Так он не в море срет, а прямо на палубу. Отчерпывать запаримся ;(
guest 20.08.2013 13:07 # 0
anonimb84a2f6fd141 10.08.2013 00:10 # +1
На это ушло 2 недели??? Ололо.
superhackkiller1997 10.08.2013 00:57 # −1
Ну и да, я тут решил ссд питушков в говно слить. Неделя эксперементов. В конечном итоге я за 500рублей запилил себе 30гигов на чтение/запись, и 20мильёнов иопсов на корень.
Кеды стартуют за долю секунду без прогрева, хотя они и на харде так же стартовали. Ну и так-то я убивал этот самый корень раз 20-30.
Но теперь тащит - вайн собирается быстрее, чем у маздайщика маздайка стартует.
3.14159265 20.08.2013 13:00 # +3
ПРИШЛО ВРЕМЯ ПЕРЕКОНПЕЛИРОВАТЬ ВЕДРО
ВЕДРО САМО НЕ ПЕРЕКОНПЕЛИРУЕТСЯ
ПЕРЕКОНПЕЛИРУЙ ЕГО, ПЕРЕКОНПЕЛИРУЙ ЕГО ЕЩЕ РАЗ
ЗАЧЕМ МНЕ НУЖЕН ШINDOWS, Я СЛИШКОМ ГОРД ЧТОБЫ СТАВИТЬ ЕГО
ЛУЧШЕ ЕЩЕ РАЗ ПЕРЕКОНПЕЛИРОВАТЬ ВЕДРО
Я ПЕРЕКОНПЕЛИРУЮ ВЕДРО ПО 7 РАЗ В НЕДЕЛЮ
КАЖДАЯ КОНПЕЛЯЦИЯ ЗАНИМАЕТ ДВАДЦАДЬ ЧАСОВ
Я ЖИВУ АКТИВНОЙ И ПОЛНОЦЕННОЙ ЖИЗНЬЮ
Я УСПЕШЕН И ПОЭТОМУ ЦЕЛЫЙ ДЕНЬ ЕБУСЬ С КОНСОЛЬЮ
А ПОСЛЕ ЭТОГО ПЕРЕКОНПЕЛИРУЮ ВЕДРО
ТУПЫЕ СПЕРМОБЛЯДИ ОДЕРЖИМЫ АНАЛЬНОЙ ПРОПРИЕТАРЩИНОЙ
А Я СВОБОДНЫЙ ОТ БЫДЛОПРОБЛЕМ ЧЕЛОВЕК
СКОЧАТЬ БЕСПЛАТНО С РЕПОЗИТОРИЯ ЕБИЛДЫ
ИМЕРДЖ ГЕНТУ-СУРСЕС МЭЙК && МЭЙК МОДУЛС_ИНСТОЛЛ
ЛУЧШЕ Я ПЕРЕКОНПЕЛИРУЮ ВЕДРО ЕЩЕ РАЗ
И БУДУ БЕНЧИТЬ ЖЕЛЕЗКИ, СТАБИЛЬНОСТЬ НУЖНА
Я НЕ КОНПЕЛИРОВАЛ ВЕДРО НЕДЕЛЮ
ПОЙДУ ПЕРЕКОНПЕЛИРУЮ
В ПИТУХ ОС ВСЕ ПРОСТО И ПОНЯТНО
АААА ОШИБКА 12309. ЭТО ЖЕ ОЧЕВИДНО КАК ЕЕ РЕШИТЬ
ПРИШЛО ВРЕМЯ ПЕРЕКОНПЕЛИРОВАТЬ ВЕДРО
ККОКОКОКОКОКОКО
anonimb84a2f6fd141 20.08.2013 18:24 # 0
Чумачечая консоль - сракло попердоль.
От конфигов схожу я с ума,
Чумачечая консоль, чумачечая.
Я ебусь в срачельничек словно чумачечий,
И смазочкой анальною намажу я срачечий.
А в линзах отражаются конфиги-конфетки,
От жженья не могу я усидеть на табуретке.
Пришла и сраку разработала нам
Чумачечая консоль - сракло попердоль.
От конфигов схожу я с ума,
Чумачечая консоль, чумачечая.
Чумачечая консоль пришла,
Срачло нам раз-ра-бо-та-ла.
Чумачечая консоль пришла,
Ла-ла-ла-ла-ла-ла-ла-ла-ла.
Когда срачло я смазал и консольку затолкал,
Она вошла как паровоз на Киевский вокзал.
И очень хорошо, что ящик смазки я нашел,
ПЕРДОЛИКС так хорош, как я не знаю ещё шо.
Пришла и сраку разработала нам
Чумачечая консоль - сракло попердоль.
От конфигов схожу я с ума,
Чумачечая консоль, чумачечая.
Чумачечая консоль пришла,
Срачло нам раз-ра-бо-та-ла.
Чумачечая консоль пришла,
Ла-ла-ла-ла-ла-ла-ла-ла-ла.
Я ебусь консолечкой словно чумачечи,
Вот смазочка закончилась, я потерял дар речи.
Ведь сегодня ночью не вернемся мы домой,
В больницу увезут с ожогом сраки нас с тобой.
Пришла и сраку разработала нам
Чумачечая консоль - очко попердоль.
От конфигов схожу я с ума,
Чумачечая консоль, чумачечая.
Чумачечая консоль пришла,
Срачло нам раз-ра-бо-та-ла.
Чумачечая консоль пришла,
Ла-ла-ла-ла-ла-ла-ла-ла-ла.
anonimb84a2f6fd141 20.08.2013 19:21 # −1
И говно он набирает в рот
Какбе-сервер скоро остановится
Переконпиляция грядёт!
Консолька черная —
Срака просторная!
В виндовсе нет такой,
ОЛОЛО ОТСОС!
Игор на линуксе,
CAD'ов и визио,
Нет, да и не нужны —
Этот снят вопрос!
Три канала я зачем-то подключил,
Надо в приложения отдать.
Маны прочитал, консолечку включил —
Попердолюсь я сейчас на пять!
Консолька черная —
Срака просторная!
В виндовсе нет такой,
ОЛОЛО ОТСОС!
Игор на линуксе,
CAD'ов и визио,
Нет, да и не нужны —
Этот снят вопрос!
Линуксу служу и не работаю,
Не такой как все, не спермоблядь!
Вся проприетарщина — блевотная,
Буду эту мантру повторять.
Консолька черная —
Срака просторная!
В виндовсе нет такой,
ОЛОЛО ОТСОС!
Игор на линуксе,
CAD'ов и визио,
Нет, да и не нужны —
Этот снят вопрос!
someone 20.08.2013 21:41 # 0
anonimb84a2f6fd141 20.08.2013 21:48 # 0
someone 20.08.2013 21:50 # 0
anonimb84a2f6fd141 20.08.2013 21:54 # −1
someone 20.08.2013 22:00 # +1
Воины Орды, нас засекли! В атаку! Лок'тар огар!
anonimb84a2f6fd141 20.08.2013 22:02 # −2
( . )( . )
someone 20.08.2013 22:05 # +1
anonimb84a2f6fd141 20.08.2013 22:10 # 0
kegdan 21.08.2013 01:09 # 0
anonimb84a2f6fd141 21.08.2013 02:16 # −2
kegdan 21.08.2013 02:31 # +1
anonimb84a2f6fd141 20.08.2013 22:31 # 0
kegdan 21.08.2013 01:11 # 0
LispGovno 20.08.2013 23:04 # +4
Месье гомофоб?
anonimb84a2f6fd141 2 часа назад # 0
Ты так говоришь, как будто это что-то плохое.
someone 2 часа назад # 0
Как ни странно, да.
Люсидфокс, перелогинься.
kegdan 21.08.2013 01:13 # −1
anonimb84a2f6fd141 10.08.2013 00:12 # +1
superhackkiller1997 10.08.2013 00:57 # −1
bormand 09.08.2013 22:51 # 0
Да даже там, имхо, четыре 32-битных умножения (аля умножение в столбик) и два сложения будут работать быстрее, чем пачка сдвигов. А на 64 битке умножение 64 битных чисел через сдвиги вообще не имеет никакого смысла.
Поэтому, рискну предположить, что этот код юзается на каком-нибудь микроконтроллере, у которого нет аппаратного блока умножения.
guest 09.08.2013 23:30 # −2
Говно ТС"а выдаёт: 9тактов на бит
В 1.7раза быстрее, ибо я зафейлил - я думал, что гцц заоптимизирует, а он питух не заоптимизировал - вышел фейл, ибо я код не поглядел.
Ну да, подумаешь - 9тактов на бит на хассвеле - это всего-то 21.5тактов на бит на 32битах, а это всего-лишь 2к тактов на умножение на какой-то тухлой армке, и то в лучше случае. Сколько там у нас частота у МК без умножения? десятки мегагерц, сотни мегагерц(я даже таких не знаю) - в районе 10копс.
Умножение, которые выдаёт килоопс от силы - ненужно, и автор питух.
Да, конечно - попацански.
guest 09.08.2013 23:42 # −2
Это так смишно, и заметь - меня минуснули. А ещё меня веселит, когда питушки проверяют указатели. А так же питушки нихрена не могут писать без ветвлений, хотя без них код проще и понятней. И ведь они реально будут доказывать, что "безветвлений не жить", а ведь такие же животные и пишут числодробилки - блювать хочутся.
roman-kashitsyn 10.08.2013 11:21 # 0
Царь, зачем каст?
superhackkiller1997 10.08.2013 12:26 # 0
govnomonad 10.08.2013 13:37 # +3
guest 20.08.2013 03:00 # 0
это вместо b_h += 0; ?
Прикольно, запомню!
bormand 20.08.2013 10:37 # 0
guest 20.08.2013 21:07 # 0
Ну да, тонкий намек на очепятку. Хотя смысла ваять супер-пупер-кроссплатформенный код, считая при этом каждый такт я, честно говоря, не вижу (разве "шоб було").
То же или соотв. код для 16/8 бит будут намного быстрее. А уж
или
вообще летать будут.
guest 20.08.2013 21:50 # 0
Ну а потом все это оптимизируется - b_h=0; b_h << =1 -> 0; b_h += (!!(b & 0)) -> b_h += (!!(0)) -> 0.
bormand 21.08.2013 06:47 # +2
На интелях и армах, емнип, barrel shifter тупо не юзает лишние биты, и сдвиг на 63 бита эквивалентен сдвигу на 63 & 0x1F = 31 бит. И если будет сдвигать проц - получится 0x80000000. Но если оно вычисляется как константа на этапе компиляции - то будет 0, т.к. у компилятора (по крайней мере gcc) понятия о сдвигах за разрядную сетку совсем другие. Поэтому лучше такую херню со сдвигом на >= числа бит никогда не юзать т.к. результат плохо прогнозируется, и зависит от настроения оптимайзера.
http://ideone.com/STa6dq
bormand 21.08.2013 06:39 # 0
TarasB 24.09.2013 12:04 # 0
А чё, в несколько строчек это записать нельзя?
defecate-plusplus 26.09.2013 14:28 # +6
roman-kashitsyn 26.09.2013 14:38 # 0
Stealth 10.08.2013 15:03 # −1
superhackkiller1997 11.08.2013 11:21 # +1
guest 24.09.2013 01:29 # −2
guest 24.09.2013 11:48 # 0