Re[8]: Откуда эта лютая любовь к знаковым целым?
От: rg45 СССР  
Дата: 05.05.20 18:44
Оценка: -1
Здравствуйте, T4r4sB, Вы писали:


TB>Перестань троллить,


Перестань воспринимать мои слова как троллинг.

TB>ты так и не смог привести пример с каноничным for


Ты так и не смог привести ссылку, где дается определение "каноничного for". А твои влажные фантазии меня мало интересуют.


TB>, ты приводишь какие-то извраты и говоришь, что это норма.


Извраты — это твои интерпретации.


TB>Ты реально думал, что я не умею записывать обратный беззнаковый цикл хоть как-то?


Не хочу тебя расстраивать, но я о тебе не думал.
--
Re[4]: Откуда эта лютая любовь к знаковым целым?
От: prog123 Европа  
Дата: 05.05.20 18:45
Оценка: :))) :)
Здравствуйте, Marty, Вы писали:

M>Здравствуйте, Евгений Музыченко, Вы писали:


M>>>Писать зело больше


ЕМ>>О да, uint вместо int, ulong вместо long — это ж пальцы отобьешь...


M>Таких типов нет, если что


Можно легко сделать))
using ulong = char;
Re[9]: Откуда эта лютая любовь к знаковым целым?
От: T4r4sB Россия  
Дата: 05.05.20 18:46
Оценка:
Здравствуйте, rg45, Вы писали:

R>Ты так и не смог привести ссылку, где дается определение "каноничного for".


Ты не понимаешь, чем отличается каноничный for от изврата? Снова троллинг?
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
Re: Откуда эта лютая любовь к знаковым целым?
От: prog123 Европа  
Дата: 05.05.20 18:48
Оценка: +1 :))
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Откуда такое пристрастие, кроме как от лени? Вроде как сколько-нибудь массовых процессоров, где беззнаковые целые поддерживались бы ограниченно, не существует. Есть в этом хоть какое-то рациональное зерно?


На всякий случай. Вот раньше никто не думал, что фьючерс на нефть может быть отрицательным, а он может))
Re[4]: Откуда эта лютая любовь к знаковым целым?
От: PM  
Дата: 05.05.20 18:49
Оценка:
Здравствуйте, Stanislav V. Zudin, Вы писали:

SVZ>Неее, тут всё гораздо интереснее. Из указателя ты много информации не вытянешь, а вот из индекса в массиве очень даже.

SVZ>К примеру, у нас в структурах данных некоторые связи не хранятся явно, а вычисляются на основе индекса.

SVZ>
SVZ>    // ======================================================================
SVZ>    typedef int BRICK;                  //!< Single mesh cell
SVZ>    typedef std::pair<BRICK, BRICK> BRICK2; //!< Couple of bricks
SVZ>    typedef int FACET;                  //!< A facet of the cell (each cell has 6 facets)
SVZ>    typedef int JOINT;                  //!< Joint between adjacent cells
SVZ>    typedef unsigned char FILLING;      //!< ID of the Cell filling
SVZ>    typedef int BRDATAEX;               //!< Reference to the brick additional data
SVZ>    typedef int JOINTDATAEX;            //!< Reference to the joint additional data
SVZ>    typedef int FACETREF;               //!< Reference to the list of facets
SVZ>    typedef float PMLStretch;
SVZ>    typedef float PMLSigma;
SVZ>    typedef unsigned char JUNCTYPE;     //!< Тип соединения на Joint (eJunctionFace)
SVZ>    typedef int UPORT;                  //!< Индекс Micro-port'а
SVZ>    typedef int UPORTVAL;               //!< Значение Micro-port
SVZ>    typedef int CORNER;                 //!< Угол ячейки

SVZ>    // ======================================================================
SVZ>    enum
SVZ>    {
SVZ>        Facet_Brick = 6,                // Число граней у ячейки - для SplitFace могут быть дополнительные subfacets
SVZ>        Corner_Brick = 8,               // Число углов у ячейки
SVZ>        UPort_Facet = 2,                // Число микропортов у одной грани или subfacet
SVZ>        UPort_Brick = 6*2,              // Число микропортов у ячейки - только для Simple, PML, Conformal - больше для SplitFace Brick
SVZ>        IncFacet_Max = 4                // Макс. число инцидентных граней
SVZ>                                        // с одной стороны соединения
SVZ>    };
SVZ>


Извините, что влезаю, но рекомендую попробовать заменить эти объявления типов на "strong typedef" . Могут обнаружиться интересные места, где яблоки складываются с апельсинами. И использование `enum class` тоже усилит типизацию.
Re[10]: Откуда эта лютая любовь к знаковым целым?
От: rg45 СССР  
Дата: 05.05.20 18:53
Оценка:
Здравствуйте, T4r4sB, Вы писали:

TB>Ты не понимаешь, чем отличается каноничный for от изврата?


Я понимаю, что ты свои личные интуитивные ассоциации пытаешься возвести в ранг абсолютной истины. Будучи неспособным хоть как-то обосновать свои утверждения.

TB>Снова троллинг?


Троллинг — это любая точка зрения, не совпадающая с твоей?
--
Re[3]: Откуда эта лютая любовь к знаковым целым?
От: kov_serg Россия  
Дата: 05.05.20 18:57
Оценка: :)
Здравствуйте, vopl, Вы писали:

V>Бритва Окама, вестимо. В ситуации где использование знака не является необходимым — использовать без-знаковые типы.


Иногда нужны полуцелые числа иногда с фиксированной точкой. Но без знаковые нужны реже, а проблем при смешении типов пораждают больше.
Re[2]: Откуда эта лютая любовь к знаковым целым?
От: kov_serg Россия  
Дата: 05.05.20 18:59
Оценка:
Здравствуйте, reversecode, Вы писали:

R>https://stackoverflow.com/questions/3093669/why-unsigned-types-are-more-efficient-in-arm-cpu/6532932#6532932

И кто еще пользуется этим устаревшим ARMv4 ?
Re[3]: Откуда эта лютая любовь к знаковым целым?
От: vopl Россия  
Дата: 05.05.20 19:00
Оценка:
Здравствуйте, netch80, Вы писали:

AG>>С точки зрение перформанса, есть случаи, где беззнаковые немного лучше, и нет случаев, где знаковые лучше.


N>Именно в C и C++ у знаковых принципиально лучше с точки зрения производительности, что позиция, что программист всегда позаботился о переполнениях, позволяет массу оптимизаций, типа замены a+1>a на true. Были отзывы о получении 20-50% выигрыша на этом в отдельных характерно интересных случаях.


покажи?
Re[8]: Откуда эта лютая любовь к знаковым целым?
От: rg45 СССР  
Дата: 05.05.20 19:18
Оценка: +1
Здравствуйте, T4r4sB, Вы писали:

TB>Ты реально думал, что я не умею записывать обратный беззнаковый цикл хоть как-то?


Я думаю, что вот это
Автор: T4r4sB
Дата: 05.05.20
твое утверждение:

Ты на беззнаках даже тупо от ЭН до нуля проитерироваться не можешь без дополнительного бубна.


достаточно точно описывает твои собственные навыки. Скорее всего, ты действительно не смог бы решить эту задачу без какого-нибудь изврата. И после того, как тебе показывают, как это делается, у тебя есть ровно два пути: 1) признать свою ошибку; 2) назвать извратом любое предложенное решение. Ну, первый вариант тебе не по зубам, судя по всему. Поэтому остается только второй, сопровождаемый лютым баттхертом
Автор: T4r4sB
Дата: 05.05.20
, котырый мы имеем счастье лицезреть.
--
Отредактировано 05.05.2020 19:22 rg45 . Предыдущая версия . Еще …
Отредактировано 05.05.2020 19:19 rg45 . Предыдущая версия .
Re[4]: Откуда эта лютая любовь к знаковым целым?
От: PM  
Дата: 05.05.20 19:25
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Чего ты добьешься, перейдя на unsigned ? Увеличения диапазона положительных чисел в 2 раза ? Смысла в этом немного, так как 2 миллиарда или 4 миллиарда — как правило, черт один, вполне хватит. А если не хватит, то надо на 64 бита переходить, а не бороться за один бит.


"640kB хватит всем"

Те люди, кто для знаковых индексов обычно используют int, используют его же не задумываясь для количества элементов в контейнеров, размера и позиции в файловых потоках. Но 2 гигабайта для бинарных данных по нынешним временам не так уж и много. И я уже пару раз сталкивался с таким ограничением.

Например, в Google Protocol Buffers v3.2.0 облагодетельствовали: "The default parsing byte size limit has been raised from 64MB to 2GB"].

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


Кажется это справедливо и для беззнаковых — результат сложения или умножения не может быть меньше операнда.
Re[9]: Откуда эта лютая любовь к знаковым целым?
От: T4r4sB Россия  
Дата: 05.05.20 19:41
Оценка:
Здравствуйте, rg45, Вы писали:


R>достаточно точно описывает твои собственные навыки. Скорее всего, ты действительно не смог бы решить эту задачу без какого-нибудь изврата. И после того, как тебе показывают, как это делается, у тебя есть ровно два пути: 1) признать свою ошибку; 2) назвать извратом любое предложенное решение. Ну, первый вариант тебе не по зубам, судя по всему. Поэтому остается только второй, сопровождаемый лютым баттхертом
Автор: T4r4sB
Дата: 05.05.20
, котырый мы имеем счастье лицезреть.


О, желание уличить других в некомпетентности, и диагностирование баттхёрта. Тебе что, меньше 20 лет?
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
Re[5]: Откуда эта лютая любовь к знаковым целым?
От: Stanislav V. Zudin Россия  
Дата: 05.05.20 20:11
Оценка:
Здравствуйте, PM, Вы писали:

PM>Извините, что влезаю, но рекомендую попробовать заменить эти объявления типов на "strong typedef" . Могут обнаружиться интересные места, где яблоки складываются с апельсинами. И использование `enum class` тоже усилит типизацию.


Думали об этом, но во времена msvs6 с оптимизацией было не очень, а сейчас чего-то руки не доходят.
_____________________
С уважением,
Stanislav V. Zudin
Re[10]: Откуда эта лютая любовь к знаковым целым?
От: rg45 СССР  
Дата: 05.05.20 20:12
Оценка:
Здравствуйте, T4r4sB, Вы писали:


TB>О, желание уличить других в некомпетентности, и диагностирование баттхёрта.


Да это всего лишь мое мнение. Ты же интересовался, что я думаю о тебе, вот, пожалуйста. Я же не претендую быть истиной в последней инстанции, в отличие от некоторых.

TB>Тебе что, меньше 20 лет?


Ну даже если и так, тебе это как облегчает существование?
--
Re[3]: Откуда эта лютая любовь к знаковым целым?
От: reversecode google
Дата: 05.05.20 20:35
Оценка: 3 (1) -1
_>И кто еще пользуется этим устаревшим ARMv4 ?

https://godbolt.org/z/vpt9Tw
раскомментируйте unsigned и увидите на сколько уменьшиться выхлоп
Re[4]: Откуда эта лютая любовь к знаковым целым?
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 05.05.20 20:41
Оценка: -1
Здравствуйте, reversecode, Вы писали:

R>https://godbolt.org/z/vpt9Tw

R>раскомментируйте unsigned и увидите на сколько уменьшиться выхлоп

Замени на такое:
int main() {
  //unsigned 
  int a = 33;
  return a > 10;
}

Съел?
Re[11]: Откуда эта лютая любовь к знаковым целым?
От: T4r4sB Россия  
Дата: 05.05.20 21:26
Оценка:
Здравствуйте, rg45, Вы писали:

R>Ну даже если и так, тебе это как облегчает существование?


Ну, это говорит о большом опыте в разработке ПО
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
Re[5]: Откуда эта лютая любовь к знаковым целым?
От: reversecode google
Дата: 05.05.20 21:30
Оценка: :)
N>Съел?

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

некоторые архитектуры включая арм и даже современные, могут в некоторых случаях генерить доп код для знаковой арифметики.
Re[6]: Откуда эта лютая любовь к знаковым целым?
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 05.05.20 21:33
Оценка: 1 (1)
Здравствуйте, reversecode, Вы писали:

R>малыш ты что сказать то хотел ?


Что хотел то и сказал, дедуля. Если ты не понял, что сам выложил, то посмотри внимательней. Ответ прост: для unsigned сравнение с -1 бессмысленно и упрощается компилятором.
Re[4]: Откуда эта лютая любовь к знаковым целым?
От: · Великобритания  
Дата: 05.05.20 22:16
Оценка:
Здравствуйте, reversecode, Вы писали:

r> _>И кто еще пользуется этим устаревшим ARMv4 ?

r> https://godbolt.org/z/vpt9Tw
r> раскомментируйте unsigned и увидите на сколько уменьшиться выхлоп
Сравнивать выхлоп без -O?! Или это шутка была?
avalon/2.0.6
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.