1. Java / Говнокод #16667

    +118

    1. 1
    protected static final float PI_2 = (float)(Math.PI / 2.0);

    Запостил: someone, 09 Сентября 2014

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

    • Точное значение не назову, но в одном нашем среднем крестопроекте около пятнадцати определений константы pi; все разной точности, местами дефайном.
      Ответить
      • http://govnokod.ru/2814#comment18434
        Что удивительно, первая же ссылка в йандексе.
        Ответить
    • К флоату для экономии приводится?
      Я вот недавно узнал, что в крестах оказывается нет константы пи в Стандарте. Либо вычисляй, либо подставляй свою, либо буст.
      Ответить
      • > нет константы пи в Стандарте
        А зачем она там? Потом начнется: "а где постоянная Планка?", "а почему гравитационной постоянной нету?", "а почему радиус луны в стандарт не включили?" и т.п...
        Ответить
        • http://developer.android.com/reference/android/hardware/SensorManager.html#GRAVITY_JUPITER
          Ответить
          • https://developer.android.com/reference/android/hardware/SensorManager.html#GRAVITY_DEATH_STAR_I
            Ответить
            • Там еще есть гравитация какого-то острова. Кто-нибудь понял, что за the island?
              Ответить
              • вроде как отсылка к сериалу Lost
                http://forums.thedailywtf.com/forums/p/21213/243670.aspx
                Ответить
        • Я бы не стал так сравнивать. Все таки пи это математическая константа (т.е.логично видеть в <cmath>), а не физическая, как в твоём примере. А вот на счёт точности идея более здравая.
          Ответить
          • Правильно, если есть синусы-косинусы, то и Пи должна быть, коль скоро есть логарифмы, то и константа Эйлера (так жеж правильно?) должна быть. Если есть слишком много численых типов, то для каждого по своей константе. На то, блин, и стандартная библиотека, чтобы сделать жизнь удобной.
            Ответить
            • > удобной
              Я бы так не сказал... Библиотека крестов делает жизнь хоть и возможной, но весьма унылой. За удобствами - в буст и ко

              Batteries included никогда не было девизом крестоблядей.
              Ответить
              • C++: Butteries excluded. You must suffer can reinvent them yourself!

                Тем не менее, библиотека уже довольно обширная. До жабьей ещё далековато, но скоро должны прибавиться файловая система, сеть (вроде бы даже на базе asio), расширенная поддержка параллелизма (включая транзакционную память) и т.п.
                https://isocpp.org/std/status
                Ответить
        • И тонкой структуры не забыть.
          Ответить
          • At last, soemone who knows where to find the beef
            Ответить
          • Unaileevbble how well-written and informative this was. http://xmndulautxb.com [url=http://qpyxomwm.com]qpyxomwm[/url] [link=http://uksqeeoiyg.com]uksqeeoiyg[/link]
            Ответить
      • Ну и опять же - с какой точностью должно быть это pi? Если double - это ущемление прав тех, кому нужен float. Если float - это падение точности у тех, кому нужен дабл... А еще же есть implementation defined точности, как с ними быть?

        Разве что шаблоном зафигачить:
        // как-то так
        float half_pi = std::pi<float>::value / 2.0f;
        // или так
        float half_pi = std::pi<float>() / 2.0f;
        Ответить
        • О! Имхо, оптимальный вариант:

          std::math_constants<float>::pi
          Ответить
          • template <typename T>
            constexpr T pi = T(3.1415926535897932385);
            
            // http://isocpp.org/files/papers/N3651.pdf
            Ответить
    • You're the one with the brains here. I'm waihctng for your posts.
      Ответить
    • Hey, that post leaves me feeling foisolh. Kudos to you!
      Ответить
      • Это автогенератор к нам пожаловал? Или человек с очень маленькой клавиатурой?
        Ответить
        • Это посты вырезанные с какого-то форума. Видимо срутся сюда автоматически.
          Ответить
    • This <a href="http://agudrb.com">intiamrfoon</a> is off the hizool!
      Ответить
    • A rolling stone is worth two in the bush, thanks to this areclit. http://qqrfwrgfw.com [url=http://coibwcise.com]coibwcise[/url] [link=http://zrczkctz.com]zrczkctz[/link]
      Ответить
    • Free knowledge like this doesn't just help, it promote deocyracm. Thank you. http://czzzups.com [url=http://byljtysgdvh.com]byljtysgdvh[/url] [link=http://sbaywjmw.com]sbaywjmw[/link]
      Ответить

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