1. Си / Говнокод #19134

    −93

    1. 1
    #define PI 3.14259265358979323846

    небольшая корректировка перед увольнением 3.1415 --> 3.1425

    Запостил: dim1r, 04 Декабря 2015

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

    • Ревью не используется? Коммиты никто не смотрит? В таком случае можно было бы сделать #define PI 8
      Ответить
      • весь вопрос в скрытности
        Ответить
        • Какая разница? С ревью любой вариант будет заметен, без ревью никакой не будет (никто еще минимум год не полезет в файл, где пи определено).
          Ответить
          • можно по проекту пройти с заменой LF на CRLF
            Ответить
            • Нормальные пацаны в диффе пробелы не учитывают, поэтому не поможет.
              Ответить
              • За такие коммиты можно по рогам получить от благодарных коллег, которым потом с этим мёрджиться...
                Ответить
                • лучше всего поменять в названии папки или файла маленькую букву на большую, и ждать когда коллеги с виндуосом на это налетят
                  Ответить
                  • На что налетят?
                    Ответить
                    • Да ни на что не налетят. Гость криво сформулировал комментарий.
                      Либо он хотел написать "Linux", либо "создать ещё одну папку/файл с изменением маленькой буквы на большую".
                      Ответить
                      • Зачем ты пиздишь про то, в чем ничего не понимаешь?
                        Ответить
                      • > Гость криво сформулировал комментарий.
                        +1
                        Ответить
                        • Питухам слова не давали
                          Ответить
                          • Гость, иди нахуй, гость!
                            Ответить
                            • Я же говорю: не давали тебе слова
                              Ответить
                              • На хуй! Нахуй, нахуй!
                                Ответить
                                • В питон!
                                  Ответить
                                  • В хуй!
                                    Ответить
                                    • Просвистела в хуй, упала на столе.
                                      Чуть поела, да скатилась по золе
                                      убитых песен, приземлилась на балкон.
                                      Мир так тесен, иди-ка, братец, ты в питон!
                                      Ответить
                                      • Гость,
                                        Нахуй ты иди, пятничнЫй гость.
                                        Я закрыл окно, и не слышу больше
                                        Про питон.
                                        Иди нахуй гость, иди нахуй
                                        Напитон.
                                        Ответить
                    • А ты попробуй
                      Ответить
              • > Нормальные пацаны в диффе пробелы не учитывают, поэтому не поможет.

                А тогда ведь дифф не заметит разницу в пробелах в строковых константах и в прочих местах, где пробелы имеют смыслоразличительное значение. В Питоне вообще пробелами можно сломать логику.
                Ответить
        • Сам факт, что пи облапали или даже объявили по второму разу - уже палево.
          Ответить
    • А почему не M_PI?
      Ответить
    • более заметный вариант, но и более прикольный
      #define PI ( (rand() < RAND_MAX * 0.99) ? 3.14159265358979323846 : 3.14259265358979323846 )
      Ответить
    • особый смак если эта штука будет срабатывать например только в четные часы.
      Ответить
    • Надеюсь, не для авиадвигателей
      Ответить
      • Для космических аппаратов. Походу те самые Протон и Фобос-Грунт как раз этот хедер и поюзали...
        Ответить
    • Для другого кодера в далекой части кода это равносильно :
      #define TRUE (rand() > 0.1 ? TRUE : FALSE) // happy debugging losers

      (c) http://govnokod.ru/6312
      Ответить
    • а зачем самопальное пи?
      а что, код ревью такое не заметит?
      а тестов нет?

      вы там дети что ли?
      Ответить
    • И не прикопаешься:

      /* According to Indiana PI Bill*/
      #define PI 3.2
      Ответить
      • Но ведь 3.1 было ближе...
        Ответить
        • Furthermore, it has revealed the ratio of the chord and arc of ninety degrees, which is as seven to eight, and also the ratio of the diagonal and one side of a square which is as ten to seven, disclosing the fourth important fact, that the ratio of the diameter and circumference is as five-fourths to four.

          Это классика! Это знать надо!
          Ответить
      • /* Use outside of USA only */
        #define EUROPEAN_PI (4 * arctan(PI * 1.25 / 4))
        Ответить
        • Что это за магия и причем тут Европа?
          Ответить
          • Европа пока не настолько богата и влиятельна, чтобы устанавливать свои константы и запрещать Солнцу садиться, поэтому европейцам приходится высчитывать Пи дедовским способом и с ограниченной точностью.
            Ответить
          • Экспортные ограничения.
            Ответить
    • CXXFLAGS += -DPI=$(shell tex --version | head -1 | awk '{ print $$2; }')
      Ответить
      • А для получения числа e запускать Метафонт?
        Ответить
      • Если надо поточнее - придётся ждать следующую версию теха?
        Ответить
        • А если надо погрубее, придётся тех откатывать на предыдущую версию.
          Ответить
          • CXXFLAGS += -DPI=$(shell php -r "print pi();")
            Ответить
            • CXXFLAGS += -DPI=$(cat > pi.c <<PI
              #include <stdio.h>
              #include <float.h>
              #define FLOAT long double
              
              int main () {
                FLOAT pi = 0, k = 0, q = 1;
                while(k < sizeof(FLOAT) * 2) {
                  FLOAT k8 = 8.0 * k;
                  pi += q * (4.0/(k8 + 1.0) - 2.0/(k8 + 4.0) - 1.0/(k8 + 5.0) - 1.0/(k8 + 6.0));
                  q /= 16.0;
                  ++ k;
                }
                printf("%.*Lf", LDBL_DIG, pi);
              }
              PI
              shell gcc pi.c -o pi && ./pi)
              Ответить

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