- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
#include <stdio.h>
#include <stdint.h>
#define foreach(a, b)\
for(typeof(*(b)) * _shit_begin = (b), * _shit_end = ((_shit_begin) + sizeof((b))/sizeof(*(b))), * (a) = _shit_begin; (a) != _shit_end; ++(a))
int main(void) {
{
uint32_t vec[6][3] = {
{10, 11, 12},
{20, 21, 22},
{30, 31, 32},
{40, 41, 42},
{50, 51, 52},
{60, 61, 62},
};
foreach(it, vec[2])
fprintf(stderr, "%u\n", *it);
}
{
uint32_t vec[] = {0, 1, 2, 3, 4, 5};
foreach(it, vec)
fprintf(stderr, "%u\n", *it);
}
{
uint8_t vec[] = {0, 1, 2, 3, 4, 5};
foreach(it, vec)
fprintf(stderr, "%u\n", *it);
}
{
uint64_t vec[] = {0, 1, 2, 3, 4, 5};
foreach(it, vec)
fprintf(stderr, "%lu\n", *it);
}
return 0;
}
Си++. Инновации, 21-йвек, 11-й год. auto и for(a:b). Прорыв, не то, что в этой питушарской сишке допотопной. А ведь это сишка могла 30лет назад.
P.S. Не вброс.
В компиляторе есть кастыль, который позволяет питушарне из плюсов работать с обычными типами, которые вообще не типы, а аля классы.
Ну и да, питушок, по связному списку форичем ходят только анскильности вроде тебя.
Ну и да, питушок, ты хочешь не по связному списку, а по стл-реализации связного списка, питушок. Чтобы форич работал с иным списком - для него реализовывать питуршний api - begin(), end() ++().
Ты насколько питушок, что я просто непредставляю, кто из вас, питушков, выел все мозги( хоть и куринные, но они должны быть).
Как жешь выхлоп анскильных питушков меня смешит.
Что плохого в этом API? Или он не принципиально новый™?
Он сказал полную ересь, но вам, питушкам, это не понять.
> 1997
Надо переписывать не форич, питушок, а то, что ты им будешь перебирать. Как жешь вы меняо далели - вы нихрена не знаете даже о своих плюсах.
Поэтому ты хоть щас его можешь переделать, чтобы он мог у указателей брать бегин и енд и юзать метод inc. Гцц определять указатели умеет.
Мне это не упёрлось.
множества, деревья и хэш-таблицы в вашем ПТУ не проходили?
Хешмассив - есть массив, в зависимости от его реализации он может и тупо этим форичем проходиться.
Питух форич из плюсов не умеет обходить "множества, деревья и хэш-таблицы". Он умеет проходить только специально созданные для форича реализации хешмассива и бревна.
И да питух, я уже говорил, зачем ты анскильное животно показываешь своё невежство? Для которого бревно - есть реализация из плюсов.
Когда ты вместо того, чтобы прогуливать уроки и дрочить на нахуй никому не нужные сишные хаки, то ты узнаешь, что в мире существуют алгоритмы и структуры данных.
А где инфу хранить, питух. Единственная нужна "структуру данных" - это массив, и то массив не упал, ибо есть указатель. Т.е. у тебя есть только указатель. Вот только с указателями Люди и работаю, создавая из них то, что им надо.
А стл-питухи даже своё бревно не запилят, дад аже хешмассив. Максимум - это связный список и то без аллокатора, который будет тормазит как говно.
Ты думаешь питушки просто так только гуню пилят? И ссуца велосипедов? Нет, питушки не способно на это, поэтому на уровне ниже stdlib питушкам делать нечего.
То есть про хештаблицу в STL ты не знаешь?
На уровне ниже stdlib и так делать нечего, покажи свою самописную ОСь, раз такой умный.
Ты я вижу Б-г и гений в одном лице, так что я жду проекта строк на 50000.
Даже порой не понятно, что ты пытаешься здесь доказать, и кому.
Что такое большие проекты? Питушарня?
>То есть про хештаблицу в STL ты не знаешь?
Причем тут твоя хештаблица в стл, питушок. Ты не напишешь её сам, ибо питушок.
>На уровне ниже stdlib и так делать нечего, покажи свою самописную ОСь, раз такой умный.
Заедушным питушкам да.
>Ты я вижу Б-г и гений в одном лице, так что я жду проекта строк на 50000.
После вас, питух.
>Даже порой не понятно, что ты пытаешься здесь доказать, и кому.
Пытаешься ты, а вернее сливаешься.
Так мне и не нужно писать хеш-таблицу, она уже есть в STL. А ты все время вынужден все с нуля пилить.
Я не сливаюсь, я приятно провожу время с детьми, с вами так весело порой бывает)))
У тебя их и нет, максимум, что анскильный питух осилит - это парук оммитов.
>Так мне и не нужно писать хеш-таблицу, она уже есть в STL. А ты все время вынужден все с нуля пилить.
В этом и суть, ты не знаешь как работает хештаблица, а ибо ты не знаешь - ты не можешь её написать. Остальное оправдания.
>Я не сливаюсь, я приятно провожу время с детьми, с вами так весело порой бывает)))
Кривляй, шут, на публику.
А зачем мне забивать голову устройством хеш-таблицы, если она уже есть готовая.
Я тебе сказал, что у меня нет проектов, ты повторил за мной, а твоих то у тебя нет. Никто не забыт, ничто не забыто.
Затем, чтобы был перфоманс.
Допустим никто из вас питушков никогда не заюзает пёрфектхеш, когда в овер 50% случаев твои ключи тебе известных. Никто не запилит отдельный аллоктор, чтобы не ловить по дтлбмису/пейджфаулту каждое обращение.
Про аллокаторы - вам об этом даже страутруп на лекциях говорит, аля "вы питушки убили мою сишку дотого, что вектор работает быстрее двусвязного списка - питухи, осильте аллокаторы".
Из вас питушков никто не осилил виртпамять - вы досихпор юзаете реалок. Никто и слыхом не слыхивал о конвейере, что mov'ы бывают разные и для одного задержка одна, а для второго друга( привет питушок тарас).
Никто из вас даже не предпологает как работает его код.
Никто не сможет написать оптимальный поиск значений для ключей, ибо вы питушки. Вы нихрена не знаете как работают кеша, как работает память, как работает ваш конпелятор. Максимум, что бы можете - это забенчить бревно и хеш.
В зависимости от кол-ва данных и типа твоего хеша - ты м ожешь подобрать оптимальный по перфомансу вариант. Ты хоть хеш сам пишешь или копипастишь?
Из-за таких питушков всё и хренова.
Да тут и так такой перфоманс!
(англ. - представление)
Ты думаешь, что если мы что-то делаем не руками, а отдаёт на откуп компилятору/библиотеке, то мы этого не умеем? Нет, тупой отрок, мы эту стадию "явсёрукамилучше" просто прошли давным-давно, и знаний в байтоёбстве у нас намного больше, чем у тебя, как мы выяснили в соседнем говнокоде.
Да, абстрактно-питушрнее мышление, которым питушки оправдываю свою анскильность мне недоступно.
Ждем. Будет интересно проверить.
Есть же нормальные русские слова "неумеха", "неосилятор" и так далее.
Мне кажется, что ты англососёшь просто.
Это когда сопля, нихуя не знающая, втыкают в случайные места своей речи англицизмы и считает, что от этого его речь стала умнее звучать.
Например, пидорки-экономисты очень любят англососать слово "пролонгирование", а музыканты любят слово "саунд", потому что какой-то вшивый диссидент брежневской эпохи, наглотавшись русских хуёв и обидевшись, при написании статей о забугорной музыке специально избегал русских слов.
Патамушто мне так нравится - мне похрен на англицизмы. Отечественный аналог анскилледа слишком длин и сложен.
Я клал на всякие слова и т.п. Я говорю то, что мне удобней - на выхлоп питухов я клал.
То есть 2 слов связать не можем, а уже программировать повадились.
Не можешь в математику и русский язык, никому ты такой не уперся, знай ты хоть сишку лучше Кернигана.
Редко когда найдешь такого ярого неадеквата, который отвечает на любую еботеку.
§2. А ведь это сишка могла 30лет назад.
Взаимоисключающие параграфы?
Итак, Ваше предложение заключается в том, что новые конструкции языка типа auto и for(a:b) не нужны, поскольку можно подставить костыли в виде макросов?
Питух, ты видел где-то, что я там писал про ненужность? А питух?
Для питуха поясню, суть в том, что новейшии инновации из плюсов - банальная байда, которая на сишке 30-тилетней давности реализуется за 10секунд. Но питухисипиписты, которые сишку видили в питушарнем вузе/пту на 1-м курсе это не понимают и твердят об инновациях.
Для питухов поясню, все(95%) плюсы и инновационность плюсов состоит из невежественности вас, питухов. Как для питухов-домохозяек новые иконочти в гуйне - инновации в ОС.
Вы такие же домохозяйки, только питухи.
Только не говори, что ты вручную за собой убираешь говно. Уборкой говна занимаются только питухи и черти.
Потом так же со всем остальным. А пока глупые питушки - вы можете дальше орпать, что кроме вашего курятника у вас ничего нет.
ДАБЛЯ!!!!
Я так и знал!!!
Юный онанист считает, что все должны дрочить по 5 раз в день, да?
Только в питушарском коде. Уже пора перерости это.
Перепиши как надо, без уб и всяких хаков, если тебе так уж упёрлось. Идею я тебе дал. Почему вы, питушки, такие анскильные?
Во всех остальных случаях - у тебя будут либо глобальные(вечные) fd, либо ты будешь их собирать в пул, а потом выносить пулл полностью.
Ты думаешь цари чё-то там удаляют, следять и т.п.? Только питухи.
пиздец
> Идею я тебе дал.
Идея говно
Говно ты, питух. До этого кода тебе ещё лет 15 кукарекать.
Как он будет два раза подряд в один файл долбиться, я посмотрю, будет ржака.
А вообще мне нравится в линуксе идея с open_file(name, timeout). Почему вендониосиляторы это не осилили? Да и клонирование процессов тоже классно сделано. mmap тоже красивый. Все как у людей. Не то что в поделке от майкрософта
Процессы более гибкие, чем потоки.
Ты можешь расшарить нужные куски памяти между процессами.
Но ты не можешь запретить одному потоку срать в память другого.
P.S. Хорош уже позорить ГК перед школьником.
Ой лолка, опять ты ниасилил даже такой простой код. Описал массив на 15 элементов, а юзаешь все 16.
На Паскале бы он написал array [$00..$0f] и проблем бы не было.
Он наглядно на своём примере продемонстрировал, почему сишные массивы - полная хуита, а паскальные - правильная продуманная вещь.
Ну и да, там минимум 16байтное выравнивание - хоть 7 пиши.
Нет, ты просто обосрался.
Не, ну полагаться на выравнивание там, где можно написать массив нормального размера, поправив всего пару цифр - это, прости, ёбаный пиздец.
Это скилл. Даже зафейлясь у царя его код 100% будет работать - это и есть скилл. Даже зафейлясь царь всегда будет прав.
Всё, чтобы царь не написал - будет работать, ибо царь написал. В этом и суть.
И тебя вылечат.
Линукс - это не твоя питушня. Тут фд ничего не стоят, поэтому пула из 16фд тебе хватит за глаза.
причем сокеты епта закрываются непоследовательно
редчайший идиот
иди умножай миллиметры, куриный царь
Challenge accepted!
http://govnokod.ru/13183
он же небось под Луговского косит, вот только матчасть выучить забыл
Ну зря же ты пошел в питухи заедушных. Вот иди и дальше ставь минусы и пили гуйню за еду.
0.
Зачем мне писать форич на говномакросах? Перфоманс идет по пизде если разобраться в нем можешь только ты один.
У меня итак есть ида и интернет.
>Зачем мне писать форич на говномакросах? Перфоманс идет по пизде если разобраться в нем можешь только ты один.
В этом и суть, с перфомансом могут работать только избранных, которых почти не осталось. Поэтому перфоманс умирает.
Ты тоже сможешь, если пару десяток лет поучишься.
Так мамка небось кормит, а потом что?
>>Поэтому перфоманс умирает.
В твоем воображении.
Хорошо, если я дам тебе задание сможешь сделать его на С с адским перфомансом? Есть множество, есть набор множеств, найти все множества из набора, которые являются подмножествами первого множества. Реализуешь на С? Элементы множеств - unsigned int.
Я уже давно не живу с мамкой, питушок.
>В твоем воображении.
Да, да.
>Хорошо, если я дам тебе задание сможешь сделать его на С с адским перфомансом? Есть множество, есть набор множеств, найти все множества из набора, которые являются подмножествами первого множества. Реализуешь на С? Элементы множеств - unsigned int.
Питушок почитал лор, я жду референсную реализацию. Пости как говнокод - я запощу пацанский вариант.
Не живешь с мамкой да? Пиздишь.
какая-то нездоровая фиксация
пиписюнчики были, багоры и членодевки были, теперь у нас есть Питушок
у кур сейчас вполне период линьки, кстати
> У плохих несушек линька начинается в июне и длится долго, не менее 3-4 месяцев.
воот, как раз к сентябрю может и успеет
Или одни анскильные, заедушные отбросы типа тебя, уровень которого где-то подднищем галимым, но вот считает он себя царём.
За питушка скажи спасибо своему борланду или как там его - он первый начал, а мне вкатило слово.
а по теме - форич по статическому массиву и только по нему нахер не упёрся, что ты хотел кому доказать? все уже давно поняли, что ты полный ноль, курочка
здесь хуесосят другого персонажа
Нет, не могла и сейчас не может.
`typeof()` было и остается GCC расширением.
Тайпоф поддерживают все вменяемые конпеляторы с бородатых годов, а гцц - основа Си. Которая взяла на себя развитие сишки после кончины юниксов в пост80-е годы.
Как вы анскильные умники меня смешите. Ну нет мозгов понять, нет знаний быть уверенным - не суйся и не пробалаболишь, но вам неймётся.
Ссылку в студию.
"Тайпоф поддерживают все вменяемые конпеляторы с бородатых годов"
Как нестандартное расширение, для совместимости с GCC.
"Ну нет мозгов понять, нет знаний быть уверенным [...]"
Я 100% уверен и знаю что в режиме строгой совместимости со стандартом, даже GCC на этот код ругнется.
_Generic - гугли.
>Как нестандартное расширение, для совместимости с GCC.
Ибо гцц основа Си. Поэтому это есть везде.
>Я 100% уверен и знаю что в режиме строгой совместимости со стандартом, даже GCC на этот код ругнется.
и? Нахрен мне упёрся твой режим совместимости, когда в любом нормальном конпеляторе уж gnu99 есть.
> _Generic - гугли.
У вас наверное после-пятничное похмелье. Потому что _Generic() и даже рядом с typeof() не валялся. Вполне вероятно вам самому надо гуглянуть что такое _Generic() и каким целям оно служит.
> Нахрен мне упёрся твой режим совместимости
Потому что ваше высказыване выше - "А ведь это сишка могла 30лет назад." - есть глупость и ложь. 30 лет назад GCC и не существовал еще. И в первые годы существования и компилировать сильно еще и не умел.
Запилить аналог можно.
>Потому что ваше высказыване выше - "А ведь это сишка могла 30лет назад." - есть глупость и ложь. 30 лет назад GCC и не существовал еще. И в первые годы существования и компилировать сильно еще и не умел.
После 90-х он это умел, ну ок почти 25лет назад. Даже если это он умел 25, 20, 15, да даже 10лет назад - он умел это задолго до плюсов.
Так же - придирки щит, gnu99 конпеляторы умеют не лучше, чем с99, а даже так же - поэтому придирка щит. Да и вообще я не обещал тебе, что это ansi c.
Сейчас модно отвечать на пол коммента?
Вам придется меня извинить, потому что высокое искусство тролления я еще не освоил.
И я так же вынужден признать свою слабость в навыках дискутирования, в оссобености с вашим типом: я все еще не научился отвечать на несуразную ахинею.
Контрольные: Любой конпелятор умеет typeof(), ибо если он его не умеет - этот конпелятор не может проверять типы - а это требование стандарта. Поэтмоу какт олько гцц появился, да и любой другйо вменяемый конпелятор - в нём появился тайпов.
Ты не смог ответить на 2 из 3-х моих аргументов и начал юлить, переключившись на "30лет назад гцц небыло".
Ты не смог ответить на все мои аргументы - вывод ты слился и съюлил на "Ты траль - ты несерьёзен".
Нечто в этом духе. Я не вижу смысла в дальнейшем обмене, потому что: я знаю про typeof() уже как больше 10 лет и конца света и/или С++ это еще не вызвало; а тебе просто все по барабану, как ребенку который нашел новую игрушку.
> Ты не смог ответить на 2 из 3-х моих аргументов и начал юлить, переключившись на "30лет назад гцц небыло".
Вы "это" называете аргументами???
Очено похоже что вам нужно достать словарь, и на конец таки выучить разницу между словами "мнение," "факт" и "аргумент."
Ты не понял меседж. Какая игрушка - я запилил эту байду, патамучто на лоре недавно был тред.
>Вы "это" называете аргументами???
Это и есть аргумент. Нет конпеляторов, которые не держат - это аргумент. Любой гццизм - это фичадефакто в любом нормальном конпеляторе и только анскилябра будет с этим спорить.
>Очено похоже что вам нужно достать словарь, и на конец таки выучить разницу между словами "мнение," "факт" и "аргумент."
Бла-бла. Человек должен уметь сливать любую лалку, если ты не можешь - ты питушок, который лишь только мнит себя кем-то.
еще одно юное дарование с ЧСВ over дохуя как у джава-дебила Ромы Кашицына
Вторая половины вызвана "diarrhoea verborum simul constipationem conceptum"
Меня не интересуют конпеляторы, в которых нет gnu99. Во всех товых конпелятора он есть, а на остальные я клла 3 кучи.
Что в этих утверждениях тебе не нравится?
Охуеть. Вот вам и C++.
int* a = malloc(x*sizeof(int));
Даааа.... могла
http://ideone.com/Z7BCpX
http://pastebin.com/UjJG8XGz
> -std=gnu99
Я вижу, математику даже на уровне 3 класса не осилил.
http://www.linux.org.ru/show-comments.jsp?nick=superhackkiller1997
>вдолбят истину
Там ему вдолбят максимум консолечку в срачло, бггг.
http://www.linux.org.ru/forum/development/9152724
но он нихуя не понял и по-прежнему считает, что const это какое-то лоховство
все-таки жаль что его выпилили с лора, его толстая кишка за 10 дней переполнилась и лопнула в уютненький
теперь тут не говнокод, теперь тут птицеферма нахуй
с питушками и курочкой
Вот массив с ненулевой базой — совсем другое дело. Там компилятор вычесть не сможет, там лучше вычитать ручками...
Сейчас у конста нет семантики, ни в плюсах ни в си - это питушарня только для типопроверки и смысла не несёт. В плюсах добавили реальный конст, у которого есть нужная семантика - это constexpr( и то он ущербанский) - этот const правильный.
Когда появится такой конст - смысл писать его будет, а пока смысла нет.
В массиве с ненулевой базой конпелятор вычислить не сможет оптимально - это ненужно и дорого.
Пизданул так пизданул.
энгрибёрдс
Цитата: Именно поэтому я лах и программистом мне никогда не быть и им я себя не считаю, я просто школьник, которому интересно пилить что-то. Я дропаю любую задачу в которой объективно мне не хватает информации, либо я знаю, что я при нормальной постановке сделаю его в разы лучше.
Хотя не, не удержусь.
Мой же подход нивилирует моменты, которые тормазят просто в 0, ибо любой алгоритм, кпд которого минимально просто не появится в моей голове, ибо моё мышление ограничено тем, что я имею.
ибо моё мышление ограничено тем, что я имею
ибо моё мышление ограничено
по моему уже несколько переигрывает
Например на фразе, что сейчас всё актуальное железо флоаты считают быстрее фиксов.
Хуюшки, я под свой планшет когда оптимизировал движок, то как раз заметил, что фиксы таки намного быстрее.
на самом деле немало прикладного по, которое на 100% целочисленно, но игры не в этой категории естессно
Мне кажется, если человек что-то говорит про "разное железо", но АРМы и куча мелочи без ФПУ для него не актуальны - то его слова про "мы работает с разным железом" - это голимые понты.
Только вот в нормально написанном коде флопс и цопс будет примерно одинаково, ибо конвейер(задержка почти у всех в районе такта). Но 98% питушков не сможет написать нормальный код.
Да и фикседпоинт щит.
И да, там лажают все, абсалютно. Я там лажанул пару раз, и то это выпилили.
если бы ты сдавал экстернат, то понятие производной знал бы, так что пока все факты сводятся к шизофрении
с галоперидолом производной некогда заниматься - пазл складывается
Ой, питушок, я ходил в твои отделы образования и прочую питушню, и знаешь что там было? Попаболь. Никто не смел на меня вякнуть, ибо я царь.
Я ничего не сдавал - я пошел и добыл себе аттестат за 9классов. Куда-то там ходить и что-то сдавать - ты упоролся чтоли?
>с галоперидолом производной некогда заниматься - пазл складывается
ко-ко-ко. Ты всё надеешься, что тут сидят только питушки вроде тебя? Шарящий пацан поймёт почему ты в луже, а уж быть отправленным в лужу галоперидольником - это пичаль.
Но тут одни питушки и с шансом 99% ты можешь выплыть в глазах их.
Лалка, я никогда не буду сливать своё время на питушарское обучение, ни в пту, ни в петушарском недовузе.
Патамучто я могу объективно смотреть на вещи, меня не ограничивает мейнстрим, питушарские кодстайлы, анскильные питухи, которых сейчас модно называть программистами.
Программирование моё хобби, и я мастер нём. У меня есть "гордость" и стайл мастера и я никогда не буду делать питушню за еду. Я могу ради чего-то(даже за еду) поделать питушню, но даже делая питушню - я не буду делать её как питушню.
Поэтому объективно мои аргументы аргументы аргументы только для матеров. Для нормальных программистов - это не аргументы и я с этим согласен. Но это не даёт повода всяким питушкам со мной спорить, если они нихрена в этом жизни не понимают.
У пацанов - стиль.
Назови мастеров.
шиза 146%
Надо при регистрации уже просить скан справки.
Я то думал просто постоянно унижаемый школьник.
Я на лоре говорил идею - у тебя есть меш, который состоит из целых чисел. Потом за ним ещё один набор точек, которые уже в 1/10(100, 1000, 10000). Это получается твой фикседпоинт, только он круче.
Т.е. для каждого набора точек - ты можешь считать бесконечно точно и бесконечно быстро - у тебя динамический шаг сетки. Так же ты можешь менять точность на лету и считать ту, которая тебе нужна - ты можешь итерполировать точки.
А вообще я считаю, что считать в фикседах - фуфел, считай в шагах сетки.
>А вообще я считаю, что считать в фикседах - фуфел, считай в шагах сетки.
>Это получается твой фикседпоинт, только он круче.
>Если ты мне - я же говорил - фикседпоинт щит.
По твоему этими цитатами я не доказал своего мнения, что фиксид питушня и я его не юзаю?
Быстрее, чем работает железо?
Хотя... так как у тебя умножение сделано?
Упоролся чтоли. Минимум такая же. Умножение минимум такое же - остальное медленнее.
А про фиксед - фиксед - это тупая эмуляция плавучки, который не нужен.
А ты проверял?
> фиксед - это тупая эмуляция плавучки
Бляяя, я-то думал...
Так ты и значения слова "фиксед" не знаешь нихуя?
Проверял и мануал читал. Ах да, питух я не говорю про твою упоротый фиксед с оруглением аля флоат.
>Так ты и значения слова "фиксед" не знаешь нихуя?
Питух, твой фиксед - это эмуляция плавучки за исключением того, что у тебя не плавает смещение. Т.е. ты теряешь диапазоны, но из-за того, что у тебя нет оверхеда на хранение смещения - у тебя диапазон будет примерно такой же.
Да ты же пропизделся походу. Ну либо у тебя какое-то особы быстрое умножение фикседов, покажи мне его наконец.
> Ах да, питух я не говорю про твою упоротый фиксед с оруглением аля флоат.
Я не смог разобрать твою хуиту.
> твой фиксед - это эмуляция плавучки за исключением того, что у тебя не плавает смещение.
Ты понял вообще, какую хуиту сморозил?
У меня нет фикседов как у тебя. У меня целый счёт, не дробный.
>Ты понял вообще, какую хуиту сморозил?
Я понял, а ты похоже нет. Умножение 1 на 0.1 приведи мне в фикседах.
Да я-то приведу, а покажи своё умножение.
Я вобще не понимаю, чего, питушок, ты от меня хочешь.
И что же в фикседе плавает? Поясни нам, о Великий Царь.
Он просто кукарекает разные термины в случайном порядке, а чуть копнёшь - знаний ноль.
А как мночится - так и множится 100*(1/100 попугяя)*100*(1/100 попугяя) = 100*100, ибо (1/100 попугяя) выпиливается.
Питушки слишком анскильны, чтобы что-то понять.
А, то есть твоё умножение проёбывает все разряды?
Т.е. ты будешь считать сантиметр, как 0.001 метра, а я буду считать 1сантиметр как 1(единица). А чего-то меньше сантиметра у меня не будет.
Только всякая твоя питушарня основанная на плавучке не будет работать. Всякие там питушарская триганометритя и прочее.
Тогда после умножения ты проёбываешь размерность.
Твои познания в фикседах тоже нулевые короче.
Естественно твоя софтравная эмуляция флоатов( ок, на 90%) будет тормазней фпу, да и никому она не упёрлась.
Ясно?
Почитай, что такое эмуляция.
Эмуляция флоата - это в турбопасе было такое для компов без сопроцессора - чтобы в натуре числа, хранящиеся в виде IEEE754 считать чисто на процессоре.
А я этим не занимаюсь.
Эмулируешь. Ты эмулируешь дробный счёт. У тебя работает всё так же, как во флоатох, кроме смещения( и того, что его юзает).
У тебя дробная арифметика с точкой. Ты эмулирует действия фпу, с некоторым исплючением.
Блядь, используй слова правильно.
Я нихуя не эмулирую флоаты, я использую ваще другую форму представления вещественных чисел.
> Ты эмулирует действия фпу, с некоторым исплючением.
Это "исключение" критическое. Эмуляция флоата - это когда я руками пересчитываю мантиссу и порядок, а в фикседах нет порядка, он всегда одинаковый, и знак числа по-другому представляется, и поэтому операции над ними совсем по-другому делаются, чем над плавучкой.
>Я нихуя не эмулирую флоаты, я использую ваще другую форму представления вещественных чисел.
Форма представления не имеет значения - ты эмулируешь операции.
>Это "исключение" критическое. Эмуляция флоата - это когда я руками пересчитываю мантиссу и порядок, а в фикседах нет порядка, он всегда одинаковый, и знак числа по-другому представляется, и поэтому операции над ними совсем по-другому делаются, чем над плавучкой.
Дак пересчёт порядка - это фуфло, самая примитивная часть. Тебе просто посчитать её сложно для результата, вернее затратно. Поэтому ты её и не юзаешь.
Всё остальное ты эмулируешь.
Только с точки зрения долбоёба, нихуя нормального не написавшего.
> Дак пересчёт порядка - это фуфло, самая примитивная часть
Ты долбоёб, эта часть определяет всю суть.
Сказал питух-делфятник, который кроме формы ничего не набрасывал.
>Ты долбоёб, эта часть определяет всю суть.
Нет, питух.
Твой флоат и фиксед отличаются не больше, чем signed и unsigned.
Ты обосрался.
> Твой флоат и фиксед отличаются не больше, чем signed и unsigned.
Ты дебил и опять обосрался.
В какую сторону ни посмотри - ты везде жидко обсираешься.
Ну удиви, меня.
>Ты дебил и опять обосрался.
>В какую сторону ни посмотри - ты везде жидко обсираешься.
Ой питушок, ой питушок. Да. да, питушок. Ну питушок, в чём отличие, скажешь?
Блядь ты тупой, я тебе уже сказал, то, что ты не видишь в этом отличии что-то важное - чисто твои проблемы.
Есть три архитектуры. В каждой хранится знаковое число (предположим для простоты, 4хбитные)
1) 1111
2) 1110
3) 1001
Переведи каждое из них в десятичное.
Ооо, так реальные посоны мало того, что не признают вещественных чисел, так еще и отрицательные считают говном...
Может вообще ограничиться числами один, два и много как когда-то делали древние люди? Им хватало.
Да, питушня. Зачем тебе "отрицательные" числа - выкати пример.
>Может вообще ограничиться числами один, два и много как когда-то делали древние люди? Им хватало.
Ну давай, удиви, где в прикладухи нужны "отрицательные" числа? Не учитывая прокладки между стулом и монитором.
А что они вместо нее используют?
Причём создай структуру данных, сложение которых выполнялось бы в одну ассемблерную команду.
Сложение чего удодно, питух - выполняется за одну асм комманду, если это влезает в регистр. x << n | y . Только питух думает, что сложение этой байды будет быстрее, чем x + x1, y + y1. Питух в каком веке живёт?
И ты не ответил на
[color]>>Ну давай, удиви, где в прикладухи нужны "отрицательные" числа?
>Координата точки относительно определённого начала координат в Декартовой системе.[/color]
Давай, посмотрим, как здесь отмажещься.
Сдвигом системы координат.
Они не нужны.
Я чё питух чтоли? Я лучше тебе c2d подарю, купив его за 500рублей. Питушки, я не обязан возится с твоим допотопным говном.
Понимаю бы питушок с какой-то там армкой лез, но с 3-м пнём - только питухи.
>Координата точки относительно определённого начала координат в Декартовой системе.
Питух - считай относительно угла, питух - так делают все нормальные люди, а питухи считают от середины.
Не нужно, есть Полярная.
Только с точки зрения doubleёба
facepalm.png
В плавучке 1/100 это 1.0 * 10^(-2).
В фикседе с масштабом 1/10 это 0.
В фикседе с масштабом 1/100 это 1.
В фикседе с масштабом 1/1000 это 10.
В фикседе с масштабом 1/65536 это 655.
P.S. Плавучка не моя. Ее задолго до меня придумали, как и фикседы.
Такие вот дила.
Суть фикседа в округлении, где биты не растут, а отбрасываются. Вот это он и эмулирует. А то, что там есть смещение относительно нуля(точки) - это банальная питушерня.
Ты сам так сказал.
Плавучка - это иное округление и иной счёт. Если тебе это не ясно - не неси херню.
А мои фикседы тут уже были и их все видели.
Я не признаю ваши 3д идеи, правда я типа питушок и не писал софтварный 3д рендер, ибо это долго и мне было лень.
Дак дай ссылку.
Тогда у тебя после каждого умножения будет переполнение.
> Дак дай ссылку.
Я проверяю твои знания, поэтому я не покажу, пока ты не продемонстрируешь свой способ умножения фикседов.
Этим ты и эмулируешь флоат - изменяя переполнение. Только вот умножать для переполнения не упёрлось.
Мне не упёрся код умножения фикседов. Я не питух, и не юзаю фикседы.
Этим я эмулирую фиксед, а не флоат.
Учи терминологию, иначе с людьми общаться не сможешь.
Если выкинуть из фпу смещение, то у тебя работает всёт очно так же( кроме операций, которые запилены на фпу как смещение смещения, аля *0.1, как я гвоорил выше).
Я уже это говорил.
Это большая деталь.
Это деталь радикально влияет как на область применения, так и на реализацию.
Ты никогда не реализовывал ни то, ни другое, ты обосрался и пытаешься на словах выплыть. Не получится. Двойка.
Флоат избегает переполнения на больших числах и потери точности на мелких числах путем изменения порядка. Именно из-за поэтому он называется floating point. Все остальные представления вещественных чисел, в которых порядок не меняется динамически, в зависимости от величины числа, к флоатам никакого отношения не имеют. Учи матчасть.
Тот же фиксед он потому и фиксед, что программист раз и навсегда зафиксировал порядок на определенную величину. И в процессе вычисления этот порядок никуда не плавает.
Причем тут твоя питушатская матчасть - порядок во флоате это бесполезная питушарня. Её не эмулируют целочисленной арифметикой, ибо это дорого.
Он эмулирует флоат.
>Тот же фиксед он потому и фиксед, что программист раз и навсегда зафиксировал порядок на определенную величину. И в процессе вычисления этот порядок никуда не плавает.
Это тут не причем - он запилил фикседы только потому, что они дешевле флоатов, а хотел он запилить аналог флоатам.
и ниже
>Нет я назвал фиксед эмуляцией флоата
мож я гоню. Но отчего нет ?
Реально. Понимаешь питушок, когда я считаю в милиметров - у меня там нет долей. А твой фиксед ненужная питушня.
Там нет округления, переполнения и прочего. Это просто целый счёт.
А вот фиксед - это доли, только кол-во долей у тебя конечно и не гуляет. Ты за еденицу считаешь левую часть, а у меня нет ни левых ни правых частей.
Фиксе - это не целочисленная арифметика, а у меня целочисленная.
300мм * 200мм чему равно?
Т.е. человек ирезультатом работы программы воспользоваться уже не сможет. Так я и думал.
Я не должен, когда пишу код думать о каких-то там питушках.
Тогда твой код не нужен, распечатай и дрочи на него.
А 1920*1080 пикселей будет 2073600 пикселей^2?
А одна цифра в капче умноженная на 4 - будет 4цифры в квадрате?
А один питух*один питух будет питух в квадрате?
Вот, теперь будешь у меня птих в квадрате, ака квадратный питух.
Мда. Про 3 класса школы пациент нам не врал...
приятно в наше время встретить честного человека
Да. Миллиметры - линейная мера длины, пиксели, количественная мера, так как они уже двухмерные.
Если написать 1080*ширина пикселя * 1920* длина пикселя = 2073600 площадей пикселя, тогда будет верно.
Т.е. каждый из вас в двойне питух - ок, я согласен.
Или показывваешь материальный миллиметр, или слился. Анскиллед математик.
Материальный - вон эталонный глянь. Я могу сказать, что питух - это 1700мм в среднем.
Показывай материального питуха.
объясню на пальцах, как третьекласснику
в чем меряется скорость? например, в км/ч
в чем меряется расстояние и время? например, в километрах и в часах
что такое скорость? расстояние за время
если ты размерности не проебал, то ты получишь верный ответ: км/ч.
площадь квадрата - это перемножить его стороны, каждая сторона - метр, значит получится м*м = м^2
что такое объем? перемножить стороны куба, которых три - т.е. м*м*м = м^3
кубометр - слышал же такое слово?
доступно?
А еще можно потроллить его разницей между 0.5 и 0.500 ;) Всяко никакой разницы не увидит.
>в этой питушарской сишке допотопной.
>P.S. Не вброс
Максимум, что вы можете - кукарекать и минусовать.
Данила Лизанец сосет хуец
Danilo ABBATH Lizanets
НУ «ЛП» '13
Дрином по мандаринам
День рождения:
22 декабря 1992 г.
Родной город:
Львів
Семейное положение:
не женат
Языки:
Українська, English, Русский
Брат:
Іван Лаба
Скрыть подробную информацию
Контактная информация
Город:
Львов
Моб. телефон:
80678381687
Доп. телефон:
Информация скрыта
Skype:
danilo.lizanets
Facebook:
Данило Лізанець
Веб-сайт:
http://kn-sapr.at.ua
Образование
ВУЗ:
НУ "ЛП" '13
Факультет:
Компьютерных наук и информационных технологий
Кафедра:
Систем автоматизированного проектирования
Форма обучения:
Дневное отделение
Статус:
Студент (бакалавр)
Школа:
№ 87 '09
Львов, 1999–2009 (а)
Золотий медаліст
а писал что бородат
с фоткой действительно ошибся
А вот поэтому он и пишет, что gnu11, gnu99. На c99/c11 не соберет из-за отсутствия тайпофа.
ЭТО СТАНДАРТ ДЕФАКТО В МИРЕ Си КОНПЕЛЯТОРОВ.
Не срывайся на крик, тебе не идет.
Не пишут на c99 только питушки типа тебя, ты же не говоришь, кто сейчас пишет на c++11. Кто будет старый проект переводить на ненужное новое, если старое работает?
Ты тут самый сильный - ты должне быть щитом этих ушлёпков.
Ну можно и поговорить...
Какую архитектуру ты имел в виду, когда говорил про нормальное call abi? Судя по единому аби это было amd64 (ну если не считать выпендреж от M$) с передачей первых аргументов через регистры?
> Ты тут самый сильный - ты должне быть щитом этих ушлёпков
Прости, я не паладин, chaotic neutral'ов в паладины не берут.
Передача аргументов через стек и вообще стек - это щит. Он должен быть выпелен нахрен, ибо он не нужен. В той же amd64 гцц не юзает стек вообще, кроме дампа регистров.
Да, в amd64 abi ВСЕ аргументе передаются через регистры. Ну естественно, если ты запилишь передашь аргументов 15, то оно будет юзать стек, а вот 5-6-7 аргументов - всегда через регистры.
>Прости, я не паладин, chaotic neutral'ов в паладины не берут.
Ты должен вырастить из них людей, как более-менее вменяемый человек тут - это твоя обязанность, как царя этой борды.
А как быть с рекурсивными функциями? Запретить, как в древнем Фортране? Но тебе же тогда придётся реализовывать в своей проге самописный стек, а ты кроме массивов ничего не осилил.
Если рекурсия не раскручиваемая( хотя я не могу таких придумать), то не юзай в ней стек.
>Но тебе же тогда придётся реализовывать в своей проге самописный стек
Запилю, если понадобится - запилю, а стек - это банльная икрементация и декрементация указателя.
>а ты кроме массивов ничего не осилил.
Я даже массив не осилил. Любая ваша структура данных - это вариации на указателях, а понимая указатели - я могу запилить на них всё, что угодно. А уж примитивщину типа ваших "структур данных" левой ногой.
Нет, ты же память не выделяешь.
Так это борланд первая начала (__fastcall), а макрософт откопипастила.
Кто о чем, а LispGovno о x86... Здесь речь была о amd64, в котором всего два call abi - один в винде, второй у всех остальных. Никаких фастколлов\стдколлов и прочего там больше нет.
А я думал там одно соглашение о вызовах и притом в основном через регистры. Не знал что макрсофт и тут выделилось. Что они там придумали? Неужто что-то полезное?
http://ideone.com/jqENWd
На запросе в гугле superhackkiller))
Суть моего кода был не в этом. Это был вброс, мне было интересно умеет ли кто-то из них юзать особенности своей архитектуры/конпелятора. Они же до сих пор верят, что на сишке пишут как 30лет назад. Как домохозяки верят, что линукс - это только консоль.
Ничего не меняется. Уровень ниже, но сознание тоже. Боязнь сложного и неизведомого. Поддакивать друг други и вторить, лижбы отдалить это неизведанное.
Вот мне тоже кажется, что тебе под тридцатник.
> тебе под тридцатник
Писал на сишке еще будучи сперматозоидом.
Зачем мне нырять в прорванное говно, если у меня хватает навыков и сил запилить самому систему, которая говна не будет давать и прорывать её небудет.
И так всегда, питушки хотят оправдать своё жалкое существование. Ты не берёшь с собой биту? Как ты будешь бабок убивать, чтобы добыть бабла на дозу/еду? Их не интересует, что бабок убивать не не упёрлось, доза мне не упала, а добыть еду можно и другим способом. Но они этого не могут, поэтому они всегда будет орать это и плюсовать друг друга, ибо согласиться с тем, что они говнори - они не могут.
О_о
Вот тебе задача попроще, встречается в реальной жизни сплошь и рядом: есть два миллиарда чисел, диапазон значений от 0 до 4 миллиардов. Посчитать среднее (сумма всех чисел поделенная на их количество). Вперед с плясками делать это на целых числах или fixed point.
Ну вот вся твоя сумма влезет в uint64_t - делается банальный циклом += с одним аккамулятором.
Даже на если не влезло бы - я за 10минут запилил байдень, которая складывает мне кол-во всех первые, вторых, третьи и т.д. битов. Я получаю массивчик из 32-х количеств битиков - осталось их сдвинуть и сложить - ты можешь это сделать как захочешь.
Тут я даже не стал возится с обратным сдвигом.
Как потом эти битики будешь складывать да среднее брать, а? Через int64? Через int64 можно и тупо сложить без твоей хуиты, покажи как это через int32 делать.
но раз так, то нахуя тебе складывать "битики"? ты сделал в 32 64 * N раза больше действий, чем следовало
переделай свою идею так, чтобы аккумулятор имел право сам быть не больше разрядности любого исходного элемента - заодно исправишь ошибки
Могу только если всего количество элементов есть степень двойки.
>переделай свою идею так, чтобы аккумулятор имел право сам быть не больше разрядности любого исходного элемента - заодно исправишь ошибки
Дак он будет и не больше, если кол-во чисел будет не больше, чем влезет в него. Это слишком много питушни, чтобы они считало для всего.
Там ещё можно вывести остаток и написать остаток/кол-во елементов, ибо к этому тот питушок придрался.
AVG(n) = (n - 1) / n * AVG(n - 1) + a(n) / n
Сольёт бигнумам или нет? Думаю, сольёт.
Неюзабельная на практике питушня. При большом количестве чисел rational'ы распитушатся до невообразимых размеров.
> Думаю, сольёт.
GCD больно уж часто будет вызываться. Формула для питушков.
Борманд, вам не идёт. Я даже читать не буду портянки, намалёванные за выходные этим куроводом, ибо времени жалко.
> GCD больно уж часто будет вызываться
Собственно, количество делений и наводит на мысль о том, что сольёт. Мутабельные бигнумы вроде питоньих должны уделать итеративную формулу только так.
Да ее на rational'ах вообще нет смысла использовать. Если GCD не гонять - в числителе всегда будет стоять сумма, в знаменателе количество ;) А если гонять - то производительность будет только хуже.
Точность уплывает из-за постоянных делений\умножений. Количество слагаемых один хрен хранить - выигрыша по памяти тоже нет. И даже если значение среднего нужно знать на каждой итерации, будет лишнее умножение, которое не требуется в наивной реализации.
Да, о них можно даже не заикаться для пары миллионов чисел.
Ржу всем офисом.
Короче эту формулу совместно с рейшеналами юзают только питушки ;) Она все-таки для порезанных представлений типа даблов.
изначально тепло распределено как
10 0 0 0 0 0 0 0 0 0
через секунду уже
9 1 0 0 0 0 0 0 0 0
что будет дальше?
пациент сказал что будет
8 1 1 0 0 0 0 0 0 0
ему сказали что это не так
пациент развонялся, что просто они нихуя не шарят про реальный мир и что тепло течёт с определённой скоростью как вода, и что у них у всех фейл а вот на самом деле всё так как у него
Такого жидкого обдристания я не ожидал!
http://dic.academic.ru/dic.nsf/ushakov/937210
И даже так:
http://vk.com/id24887327
Самый угар.
Итак, курочка предлагает всё считать в нанометрах, наносекундах итд, тем самым обходясь только целыми числами - типа при таком подходе их хватит на то, чтобы достаточно точно измерить любой объект нашего мира.
Скорость курочка, видимо, будет мерять в нанометрах в секунду, и тут её ждёт обломс.
Чтобы узнать скорость по расстоянию и времени, надо не просто сделать a/b, неее, надо сделать a*1e9/b, а это блядь самое что ни на есть деление фикснумов.
А вот задачка для курочки: есть объект, он двигался 10_000_000_000 наносекунд, при этом его скорость была 10_000_000_000 нанометров в секунду. Какое расстояние он прошёл?
И тут курочке придётся считать t*s/1e9, а это есть самое что ни на есть каноничное умножение питушиных фикснумов, от которых он никуда не делся. И промежуточный результат операции, опаньки, не влазиет в int64, так вот пусть он покажет нам всем, как он обойдёт это затруднение.
В конечном итоге будет 10_000_000_000*10, а никакого деления не буедт, ибо ты питух. И изначально все расчёты делаются в одной величине, самой маленькой, которая равно в столько-то то раз меньше нужной точности.
Это в питушню порвёт твои фикснумы. Зачем ты задачку подгоняешь под себя? Попец пригорел?
Ахаха ну ты и лошара, такой точности не хватит ни на что. Потому что 1км/ч - это 0.277 м/с, сколько это целых нанометров в наносекунду?
Давай, покажи нам навыки устного счёта. XD
Вот и считай в одной тысячной секунды и в одной тысячной метра - иного тебе не надо. Если вычисления не влезают в uint64_t - они и не влезут в дабл( хотя в дабл они влезут на 3порядка раньше). Вот и считай в сотых, десятых, метрах.
Точность будет такая же, как в дабле.
Ты знаешь, что такое нанометр в наномекунду, а?
Я тебе для примера скажу: скорость пешехода - это полтора-два нанометра в наносекунду, если даже скорость пешехода точно не измерить, то что говорить о других вещах?
А знаешь, почему?
Потому что если бы у тебя были хоть какие-то навыки устного счёта, то ты бы узнал, что нанометрв наномекунду - это то же самое, что метр в секунду. Приставка "нано" сокращается, доходит?
Целыми метрами в секунду нихуя ты не измеришь - доходит?
> Если вычисления не влезают в uint64_t - они и не влезут в дабл( хотя в дабл они влезут на 3порядка раньше).
Авотхуй, потому что дабл не хранит ненужную информацию, а твои инты64 хранят. Например, ненужные нанометры при измерении тысячекилометровых расстояний.
Метрами нет - милиметрами да. uint64_t тебе хватит для измерения планет в милиметрах, даже микрометрах.
>Авотхуй, потому что дабл не хранит ненужную информацию, а твои инты64 хранят. Например, ненужные нанометры при измерении тысячекилометровых расстояний.
Считаешь тысячи километров - не считай в нанометрах, а метрах/милиметрах, питух. Только вот дабл на тысячах километров даст тебе точность меньше, чем в сотую милиметра, а uint64_t точность на порядки большую.
Так какая у тебя система единиц для скорости, времени, расстояния?
> Считаешь тысячи километров - не считай в нанометрах, а метрах/милиметрах, питух.
То есть ты, курочка, предлагаешь для мелких чисел одну точность, а для больших - другую? Ты, курочка, изобрела плавучку.
> а uint64_t точность на порядки большую.
Этот твой uint64 нихуя не хранит информацию о том, в каких же именно попугаях мы измеряем. А вот double хранит.
Какие мне нужны для нужной мне точности.
>То есть ты, курочка, предлагаешь для мелких чисел одну точность, а для больших - другую? Ты, курочка, изобрела плавучку.
Да. Это очень маленькая часть плавучки. Это целочисленный счёт, который округляется не так, как плавучка.
>Этот твой uint64 нихуя не хранит информацию о том, в каких же именно попугаях мы измеряем. А вот double хранит.
Дак я мерию в одних и тех же попугаях - они у меня заложены по дефолту.
Мне без разницы в чём я считаю - я считаю в единицах, а какие это единиицы мили/микро/пикометры или иные попугаи - мне без разницы. Главное чтобы все константы были в однаковых попугаях, в которых я считаю.
Считаю я в милиметрах - все константы должны быть в милиметрах. Считаю в метрах - в метрах. Попугаи для констант выбираются в зависимости от нужной мне точности.
Это вся суть плавучки.
> Это целочисленный счёт, который округляется не так, как плавучка.
У тебя есть величина А, измеренная в миллиметрах и величина Б, измеренная в метрах, сложи их, миллиметры отбросятся, всё как в плавучке.
> Дак я мерию в одних и тех же попугаях
Нихуя, твои попугаи зависят от контекста.
Универсальных попугаев у тебя нет и не будет, потому что тебе никакого int64 не хватит на ускорение, скорость, расстояние, работу, мощность, тебе при вычислении этих величин где-то, да придётся бороться с переполнением, деля на 10, 100, 1000, то есть проёбывая младшие разряды.
> Считаю я в милиметрах - все константы должны быть в милиметрах.
А скорость тогда в чём? В наносекундах?
А знаешь, что такое миллиметр в наносекунду? Это в сто раз больше первой космической, то есть у тебя снова проблемы с точностью.
Нет.
>У тебя есть величина А, измеренная в миллиметрах и величина Б, измеренная в метрах, сложи их, миллиметры отбросятся, всё как в плавучке.
Нет, питух. У меня НИКОГДА не можножатся метры на милиметры, питух. Только метры на метры, либо милиметры на милиметры, питух.
>Универсальных попугаев у тебя нет и не будет, потому что тебе никакого int64 не хватит на ускорение, скорость, расстояние, работу, мощность, тебе при вычислении этих величин где-то, да придётся бороться с переполнением, деля на 10, 100, 1000, то есть проёбывая младшие разряды.
Ты питух попутал? Мне не упрёлись твой универсальные попугаи, питух. У меня конкретные, нужные мне сейчас попугаи.
>А скорость тогда в чём? В наносекундах?
Питух, ТУТ НЕТ НИКАКИХ УНИВЕРСАЛЬНЫЕ ВЕЛИЧИН, тупая сливалка. Повторяет одно и тоже, хотя слилась 2поста назад.
Нужна точность в наносекунды - будет в ноносекундах, как в твоём дабле.
>А знаешь, что такое миллиметр в наносекунду? Это в сто раз больше первой космической, то есть у тебя снова проблемы с точностью.
Когда у меня будут проблемы с точность - твой дабл умрёт разрядом 5 назад.
А после 5разрядов, после которых умрёт мой уинт - умрёт твой дабл и провалится в нан, ибо кончится порядок. Хотя даже эти 5разрядов после кончины моего уинта - он уже будет давать точнос не милиметры в наносекунду, а (милиметры в наносекунду)*1000000. В тысячи раз отойдёт от заданной точности в питушню.
Поэтому нормальный человек будет это считать в попугаях, которые в 1000000 раз больше милиметры в наносекунду и получит точность на 3-4порядка выше дабла без питушарских даблов.
Потому что ты нихуя не считал.
> Питух, ТУТ НЕТ НИКАКИХ УНИВЕРСАЛЬНЫЕ ВЕЛИЧИН, тупая сливалка. Повторяет одно и тоже, хотя слилась 2поста назад.
Питух, тогда должен где-то хранить порядок своих величин, то есть делать то, что и так делает плавучка.
> А после 5разрядов, после которых умрёт мой уинт - умрёт твой дабл
Идиот, он не умрёт, он потеряет нанопроцент точности, на который в реальной жизни всем положить.
> Хотя даже эти 5разрядов после кончины моего уинта - он уже будет давать точнос не милиметры в наносекунду, а (милиметры в наносекунду)*1000000
Если речь идёт об измерении космических скоростей - то это нормальная точность. Дабл - это и есть твои попугаи, которые динамически подстраиваются под размер числа.
Гордый тарасБпитух считал лабы и гордится этим.
>Питух, тогда должен где-то хранить порядок своих величин, то есть делать то, что и так делает плавучка.
Мне не надо хранить, ибо порядок у меня константный, как в твоём фикседе.
>Идиот, он не умрёт, он потеряет нанопроцент точности, на который в реальной жизни всем положить.
Ну дак вот с этого и начинай, что на значения меньше, чем 1/100000 метра тебе положить - вот считай в 1/100000 - не переполнится. А если переполнится - считай в 1/10000, ибо дабл твой тоже переполнится.
>Если речь идёт об измерении космических скоростей - то это нормальная точность. Дабл - это и есть твои попугаи, которые динамически подстраиваются под размер числа.
Только мне не нужно это.
Вот смотри - ты считаешь в метрах и тут у тебя значение ушло за метры - в моём счёте у тебя всё умрёт, а в дабле ты будешь считать доли метра. Ты считаешь в долях. А вот плавучка это то, что 0.000000000000011111111111 - будет (-14)11111111111 - это есть плавучка.
У меня это будет 11111111111*.000000000000000000000001. У меня нет порядка, ибо у меня мноижетль не меняется. У меня всегда будет такйо множитель.
И я буду считать в долях, равных .000000000000000000000001 попугая.
Блядь, дебил, не хватит тебе константного порядка не все величины, но ты этого не знаешь, потому что умеешь только пиздеть, а не код писать.
> Ну дак вот с этого и начинай, что на значения меньше, чем 1/100000 метра тебе положить
Блядь ты тупая, мне не положить на значения, меньше 1/100000 метра, мне положить на скорости меньшие 1/100000 метра в секунду, и при умножении даблов я получу то, что надо, а при умножении интов мне придётся лишние биты вручную убирать и ещё где-то отдельно хранить, сколько же лишних битов я убрал, а дабл сам это хранит.
> И я буду считать в долях, равных .000000000000000000000001 попугая.
Твои доли обосрутся и переполнятся, когда тебя попросят вычислить крутящий момент в попугаеметрах.
И чтобы бороться с переполнением, тебе придётся либо у всех изначальных величин просирать всю точность, либо после каждого умножения делать сдвиг вправо на фиксированное количество битов, но даже этот сдвиг не помогает, когда надо вычислить, на сколько повернётся тело с массой m и моментом инерции N при воздействии на такую-то точку в таком-то направлении.
бгг
всё ещё жду декларации числа пи!
достаточно простой пример
взять какую-либо физическую формулу - например a*b*c*d
допустим, каждый член - int64 и хранит "точность" 4 десятичных разряда после запятой
вполне "бытовая" точность, курочка же любит на пальцах всё прикидывать
после перемножения int64 даст в ответе "точность" в 16 десятичных разрядов - чисто из-за того, что каждый операнд виртуально был в масштабе e-4 - получили e-16
16 десятичных разрядов после виртуальной запятой - это значит до "запятой" остается только ~3-4 десятичных разряда
что, не такой уж и большой теперь uint64?
при этом 16 разряда точности сами по себе уже будут не очень точными просто исходя из точности операндов - там получится навскидку только ~12 точных разрядов и оставшихся 4 - лажовых, т.е. впустую тратим место, занимая его ненужными числами
такие дела
Все разряды у уинта будет абсалютно точными, никаких разрядом после запятой тут нет, питух.
Это N целых попугаев * N целых попугаев * N целых попугаев * N целых попугаев - питух, ответ будет В целых, абсалютно точный, питух.
целых попугаев не бывает
если твоя рулетка размечена в миллиметрах и показывает, что твой хуишко имеет длину "в точности" 100мм, то это значит, что на самом деле он равен 100мм ± 0.5мм
когда ты эту величину будешь употреблять во всех физических формулах, её погрешность (а так же погрешность остальных величин и даже констант) будет давать нихуевую погрешность в итоговом ответе
просто ты как обычно нихуя не знаешь, но обязательно имеешь свое мнение, курочка
В этом и суть - считай в том, что ты можешь измерить. И питух - это округление, а не точность. Вы анскиллед питушки все одинаковые - начитался лора?
>просто ты как обычно нихуя не знаешь, но обязательно имеешь свое мнение, курочка
Вот питух у тебя есть 100отрезков измереных рулеткой в 100милиметров - сложи(умнож) их в дабле, питух. А потом сложи(умнож) в уинте и покажи разницу, анскильный питух.
скажи мне значение числа пи, которое ты возьмешь для расчетов в int64
и я тебе мигом придумаю задачу, где ты словишь целочисленное переполнение с таким значением
Зачем тебе пи? В этом и суть питухов. Любую задачу можно решить на целых, но вы питухи сольётесь и будите кукарекать "а что если считать не это", а если питухам не нужно считать это - они будут питушить в даблах.
пи=3
Зачем тебе пи? Удиви меня питух? Если твоя задача вызовет переполнение - я разделю все константы на N и всё переполнение пропадёт, а ты питух будешь кукарекать, что так нельзя.
площадь круга это пи * радиус^2
ты же ведь понимаешь, что такое круг, да?
итак, площадь круга с радиусом 1.000000 метр (ты его представляешь в виде 1000000 попугаев) у тебя получается 3000000000000 попугаев, т.е. 3.0..0 (12 нулей) квадратных метра - но ведь это крайне неточный ответ, в даблах-то получилось 3.14159265358979323846 квадратных метра - это существенно ближе к правде!
А то, что вы считает за точность части метра - я клал. Вы пытаетесь нести херню и выплывать на тупой ереси и особенностей своего счёта, которого нет в моём. Этот питух пытается из моего счёта сделать фиксед, но питух несёт херню.
И мы клали. Твой ответ неверный.
Здравствуй, superhackkiller1997. Давай сыграем в игру. Я напишу отдельным говнокодом референсную реализацию простейшего баллистического симулятора (без учета ветра и т.п.) и несколько контрольных примеров к нему. А ты запилишь аналогичную прогу, которая оперирует с твоим представлением чисел. Ты же ведь всяко знаешь, что такое баллистика, и где ее применяют.
Challenge accepted?
Держи: http://www.govnokod.ru/13187.
>Любую задачу можно решить на целых
А Пифагору не хватило рациональных.
Целочисленное переполнение, ты слышал про него, твою мать?!
Дак в даблах у тебя тоже будет переполнение и точность уплывёт? Считай в таких, в которых небудет переполнения.
Ну и да, х86 умеет выдавать 128битный результат у умножения.
Зачем тебе юзать точность, на которой у тебяб удет переполнение при расчётах? Юзай такую, которая не переполнится - точность ты не потеряешь и гемороя не обретёшь.
Уплывут младшие разряды, которые не нужны.
> Ну и да, х86 умеет выдавать 128битный результат у умножения.
Будем считать это опечаткой, что ты имел в виду x64, так вот, что с этим результатом делать-то потом, а? Если снова умножать, то это уже BigInteger получается, а это уже очень большой перфоманс. А если сдвигать вправо, то ты точно также херишь младшие разряды.
> Юзай такую, которая не переполнится
Ты пиздец, для этого придётся считать не в миллиметрах, а в метрах, чтобы не переполнилось, забив на все значимые разряды.
Ты хоть раз в жизни что-то считал, мудило, ты хоть знаешь, как это тяжело - составить выражения так, чтобы величины в числителе и знаменателе были гарантированно одного порядка, чтобы при делении ни точность не похерилась, ни переполнения не случилось, ты хоть раз хоть какие-то формулы пробовал считать, мудило, ты нихрена не писал, кроме одноразовых писулек, не делающих ничего кроме "зацените питухи анскильные я умею какать вверх ногами".
Да, уплывут и твой метры превратятся в километры, а зачем ты собственно считал в метрах, если тебе не нужны младшие разряды?
>Будем считать это опечаткой, что ты имел в виду x64, так вот, что с этим результатом делать-то потом, а? Если снова умножать, то это уже BigInteger получается, а это уже очень большой перфоманс. А если сдвигать вправо, то ты точно также херишь младшие разряды.
О5 питушок со своей маздайкой. Нет никаких x64, питух. Для одного раза хватит.
>Ты пиздец, для этого придётся считать не в миллиметрах, а в метрах, чтобы не переполнилось, забив на все значимые разряды.
Да, на них забьёт твой дабл - поэтому разницы нет.
>Ты хоть раз в жизни что-то считал, мудило, ты хоть знаешь, как это тяжело - составить выражения так, чтобы величины в числителе и знаменателе были гарантированно одного порядка, чтобы при делении ни точность не похерилась, ни переполнения не случилось, ты хоть раз хоть какие-то формулы пробовал считать, мудило, ты нихрена не писал, кроме одноразовых писулек, не делающих ничего кроме "зацените питухи анскильные я умею какать вверх ногами".
Питушок насчитался лаб? Похвально.
Сложно, но можно - если тебе ничего делать и класть на точность - юзай питушарский дабл и не думай неочём.
Просто поверь, что так надо.
> О5 питушок со своей маздайкой. Нет никаких x64, питух. Для одного раза хватит.
x86 не умеет выдавать 128-битный результат умножения.
> Да, на них забьёт твой дабл - поэтому разницы нет.
Блядь, разница в том, что тебе изначально придётся считать всё в целых метрах, а это пиздец. Даблам этого не нужно.
> Питушок насчитался лаб? Похвально.
Питушок нихуя в жизни не считал, а ТарасБ считал.
> Сложно, но можно - если тебе ничего делать и класть на точность - юзай питушарский дабл и не думай неочём.
Дебилушка, как раз твои питушарские целые канают только при сложениях, если тебе надо перемножить несколько чисел, хранящихся с требуемой точностью, то тебе придётся выкинуть несколько младших разрядов, и да, тебе ещё придётся где-то хранить, сколько именнт младших разрядов ты выкинул. Дабл сам хранит количество выкинутых разрядов, а тебе это придётся хранить отдельно, эмулируя работу плавучки.
Ага, так всегда. Питухи кукарекают.
>x86 не умеет выдавать 128-битный результат умножения.
man mul.
>Блядь, разница в том, что тебе изначально придётся считать всё в целых метрах, а это пиздец. Даблам этого не нужно.
Питушкам это не нужно. Я считаю в целых метрах и проблем не имею. В этом и суть - ты питух пишешь метры, а потом делишь их, как птиух, а дабл за тебя юзает дроби. Только вот уже на миллионных доля твой дабл протухнет, так почему бы сразу не считать в миллионных долях?
>Питушок нихуя в жизни не считал, а ТарасБ считал.
Лабы в питухвузе? Я так верю в них.
>Дебилушка, как раз твои питушарские целые канают только при сложениях, если тебе надо перемножить несколько чисел, хранящихся с требуемой точностью, то тебе придётся выкинуть несколько младших разрядов, и да, тебе ещё придётся где-то хранить, сколько именнт младших разрядов ты выкинул. Дабл сам хранит количество выкинутых разрядов, а тебе это придётся хранить отдельно, эмулируя работу плавучки.
Ответить
Питух, ты совсем тупой? Зачем тебе считать в чём-то, что переполняет uint64_t? Раздели все константы на 100000 - вот тебе профит.
Мне не прийдётся - я сразу возьми такие порядки, для которых хватит uint64_t.
Давай подробнее.
> Я считаю в целых метрах и проблем не имею.
А если тебе нужны миллиметры, а если тебе нужны миллисекунды, а если тебе нужно потом поделить ондо на другое, чтобы получить скорость - что будет?
> Лабы в питухвузе? Я так верю в них.
Ну если веришь, то это хорошо.
> Питух, ты совсем тупой? Зачем тебе считать в чём-то, что переполняет uint64_t? Раздели все константы на 100000 - вот тебе профит.
Раздели все константы на 100000 и проеби всю точность.
Смысл дабла в том, что он делит на 100000 только когда надо.
И да, он вмещает меньше значащих цифр, чем может вместить int64, зато дабл хранит в себе размер попугая, а твой инт не хранит, ты это должен хранить в отдельном месте, тем самым всё равно эмулируя логику дабла.
Что тебе подробнее, питух? При умножении нет переполнения, питух.
>А если тебе нужны миллиметры, а если тебе нужны миллисекунды, а если тебе нужно потом поделить ондо на другое, чтобы получить скорость - что будет?
Всё нормально будет.
>Ну если веришь, то это хорошо.
Я верю, что питухах они нужны не только для того, чтобы понтаваться.
>Раздели все константы на 100000 и проеби всю точность.
Делят их тогда, когда возможно переполнение. А когда возможно переполнения - твой дабл потеряет ещё больше точности.
>Смысл дабла в том, что он делит на 100000 только когда надо.
Я тоже делю тогда, когда мне надо.
>И да, он вмещает меньше значащих цифр, чем может вместить int64, зато дабл хранит в себе размер попугая, а твой инт не хранит, ты это должен хранить в отдельном месте, тем самым всё равно эмулируя логику дабла.
Мне не надо хранить размер попугая, питух - ты оделал как попугай повторять одно и тоже.
У меня размер константа - как и в твоём фикседе. От начёла счёта и до конца - у меня считается ВСЕГДА В ОДНИХ И ТЕХ ЖЕ ПОПУГАЯХ.
Что-то ещё, питушок?
Будет.
> Всё нормально будет.
Ты дебил даже устный счёт освоить не смог, нихуя не удет нормально.
> Делят их тогда, когда возможно переполнение. А когда возможно переполнения - твой дабл потеряет ещё больше точности.
Блядь ты тупая, дабл делит не тогда, когда переполнение гипотетически возможно, дабл делит тогда и только тогда, когда оно уже случилось. Дабл на ходу подстраивается под нужную точность и в этом его сила.
> Мне не надо хранить размер попугая, питух - ты оделал как попугай повторять одно и тоже.
Надо, блядь ты тупая, потому что если у тебя величина а может меняться в 100 раз и величина b может меняться в 100 раз, то величина a*b может меняться в 100 раз, порядок произведения будет скакать так, что ты обосрёшься пытаться запихать все возможные числа с нужной точность в фиксированную точность.
Питух.
>Ты дебил даже устный счёт освоить не смог, нихуя не удет нормально.
Питух. Выкати пример.
>Блядь ты тупая, дабл делит не тогда, когда переполнение гипотетически возможно, дабл делит тогда и только тогда, когда оно уже случилось. Дабл на ходу подстраивается под нужную точность и в этом его сила.
Для питухов да, которые не могут посчитать нужную им точность. Я могу - остальное меня не интересует.
>Надо, блядь ты тупая, потому что если у тебя величина а может меняться в 100 раз и величина b может меняться в 100 раз, то величина a*b может меняться в 100 раз, порядок произведения будет скакать так, что ты обосрёшься пытаться запихать все возможные числа с нужной точность в фиксированную точность.
Питух, если ты тоже самое умножишь в дабле - твой питушня так же уйдёт на 6порядков, как и моя. ЧТо ты этим хотел сказать?
Давай, посчитай точность для величины, которая может принимать значения от 1 до 10^6, а потом подели её на другую величину, которая принимает значения в том же диапазоне.
Как только тебе придётся делить, ты поймёшь, что тебе нужна только относительная точность, которую дают даблы, а на интах и фикседов ты обомаешься, на фикседах я долго ебался в коде расталкивания тел, а ты со своими познаниями в вычах и подавно нихуя не сможешь сделать.
Так вот, чтобы получить два числа с требуемой точностью, тебе придётся пожертвовать точностью, и да блять, то, сколько именно разрядов ты откинешь, предсказать при компиляции невозможно.
Да, я признаю, твой подход, когда каждая величина имеет свой диапазон значений и свою точноть в абсолютных единицах, имеет право на жизнь, и где-то используется, но в 95% это нахуй не нужно, потому что код с даблом надёжнее (нету ибатни с расчётом точности), его проще писать, и да, на современных компах он быстрее работает и зачастую тебе придётся блядь работать в одном и том же коде с числами абсолютно разного порядка, то есть твой подход в 95% случаев не работает.
А проблемы твои с твоими телами на 95% мнимые. Давай выкатывай свой(можешь запилить фуфло в лоб, если так боишься своего труЪ оптимизированного кода) код на флоатах для расталкивания тел. Я посмотрю и скажу тебе что да как.
А так, ты не хочешь говорить как люди - ты ведёшь себя как питух. Ко-ко-ко я несмог, в реальном мире 95% не работает. Да в реальном мире в 95% случаев считают что-то анскильные питухи.
Поэтому если бы ты захотел разобраться и поговорить как люди - ты бы некичился тем, что ты что-то там считал - а нормально взял выкатил, рассказал бы что да как - я бы подумал и мы бы пришли к аргументированному решению. А ты же как питух "непокажу", "нехочу" и иное ко-ко-ко.
Я не понимаю нихрена в вашем растелкивании и как оно вообще должно выглядеть, ибо я клал на это. Один хрен для меня всё это выглядит как питушня.
Мне не упёрлось сраца, чтобы выяснить что и там кому надо, поэтому я сразу говорю - выкатывай, будем смотреть.
А когда я решал другую задачу, то я, бегло прикинув, с чем мне придётся иметь дело, сразу понял, что фикседы сосут. Да даже чтобы определить точку пересечения луча и конуса, надо считать квадратный корень - с квадратным корнем фпу справляется лучше любой твоей целочисленной поебени.
Да, если хочешь, я тебе сформулирую задачу и выкачу код на тему пересечения луча и конуса, причём конус ограничен и сверху, и снизу.
Если что - я спрошу.
Используется, например, для определения свойств моделей абсолютно чёрных тел. Модели эти в 90% случаев имеют радиальную симметрию, но иногда бывает и такая хрень, как цилиндр с наклонным дном.
Трассируют 1е100500 лучей, проверяют, сколько из них вылетело наружу этой полости, вот так.
Абсолютно чёрные тела используются в термометрии, потому что там все умные формулы заточены под чёрные тела. Зачем нужна термометрия - объяснять не буду.
И ещё я подумал и решил дать задачу попроще.
Просто реши квадратное уравнение.
http://ithappens.ru/story/10776
Комплексные числа мне не нужны, нужны лишь действительные.
Квадратное уравнение неизбежно попадается в задаче определения пересечения луча и конуса. И да, нам там нужно то пересечение, которое ближе к началу луча.
Покажи мне строчку в документации по mul, в которой написано, что mul на 32битной платформе возвращает 128-битное число. Покажи, цыпленок ощипаный.
Ты питух как девка виляешь и обсираешься, за слова не отвечаешь, только пиздобольство питушиное от тебя одно.
Не обязательно. На 32-битной машине uint64_t передаётся через пару регистров edx:eax. УМВР.
А ещё можно работать с int64 через сопроцессор, вот жеж нежданчик.
Ага, только запитушили тут тебя ;) Ну нету там uint64_t и че? mul на 32 битной платформе возвращает 64 битное число разбитое на 2 части. Где ты там 128 бит увидел, яйцо куриное?
Ссылку в студию или слив засчитан.
Двое запитушие питушка.
Да, питух, это нихуя не x86, питух, чё, обосрался опять, питух?
http://ru.wikipedia.org/wiki/X86-64
Бы ли бы на твоём 32битном питухе 64битные регистры - ты бы тоже мог 128битный результат.
Даже на 32 битной платформе mul/imul возвращают uint64_t или int64_t. А div/idiv, соответственно, его принимают. Да, складывать и вычитать эти uint64_t напрямую он не умеет. Да, физически хранятся они в двух регистрах. На 64 битной платформе аналогичная херня со 128 битными числами.