1. Pascal / Говнокод #28100

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    function rand:LongInt;
    {$IFOPT J-} {$J+} {$DEFINE NoJ} {$ENDIF}
    const next:LongInt=1;
    {$IFDEF NoJ} {$J-} {$UNDEF NoJ} {$ENDIF}
    begin
    next:=next*1103515245+12345;
    Result:=(next div 65536) mod 32768;
    end;

    Краткая инструкция как сделать static unsigned long int на Delphi.

    Запостил: KOTOM, 31 Марта 2022

    Комментарии (8) RSS

    • A noTOM - cyn c ...
      Ответить
    • О да. Типизированные константы, которые на самом деле являются переменными... а когда-то мне нравилось, очень удобно, что можно сразу и объявить, и значение присвоить. И даже массив инициализировать в одну строчку.

      Жи как зонтик.
      Ответить
    • Хм, интересно, а, например, то, что обе магических константы делятся на 3, не повлияет на качество генератора?
      Ответить
      • > качество

        50 оттенков коричневого... От подобных генераторов качество в любом случае никто не ждёт.

        Но вроде самое главное -- чтобы модуль и множитель были взаимно-простыми. А модуль тут только на 2 делится.
        Ответить
      • Код был переписан отсюда https://habr.com/ru/post/499490/ там изначально говорилось что распределение у этого генератора хреновое.
        Ответить
        • > Реализация функции rand в старом C была проста и имела следующий вид

          Я сейчас левитирую в 15 см от стула от этого предложения.
          Чувак реально считает, что С прописывал реализацию rand? Что разные рантайм библиотеки делали всё одинакого?

          > ныне в C++ улучшена
          Вот он серьёзно думает что в С++ какой-то другой glibc линкуется? Что это связано с языком, а не с улучшением стандартной библиотеки?

          > PRNG алгоритмы похожи на реализацию rand в C и отличаются лишь константами.
          Бляяяяя.....

          И у этого говна положительный рейтинг?
          Ответить
    • > unsigned long int
      > LongInt
      Нам Клаус в дом дарил покой,
      Мы были счастливы с тобой,
      Но ночь, не слав угар хмельной.

      Но я устал от дальних стран,
      Прощай, чудесный Индестан,
      Гуд бай, пора в Москву домой.

      Делфи, Делфи, только джве недели,
      Бредил золотой луной.
      Делфи, Делфи, быстро пролетели,
      Радости от встреч с тобой под золотой луной.
      Ответить

    Добавить комментарий