1. C++ / Говнокод #13594

    +77

    1. 1
    float tlen = sqrtf(top[0]*top[0]+top[1]*top[1]+top[2]*top[2]);

    Всё в мире тлен и безысходность. В том числе и код.

    Запостил: Sauron, 10 Августа 2013

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

    • Корень из скалярного произведения и длина вектора верха (top length).
      Ответить
      • А как бы звучало название функции, меняющей длину, например, строки?
        Ответить
    • не уловил: в чем говно?
      Ответить
    • sqrtf(top[0]^2+top[1]^2+top[2]^2)

      хотя бы
      Ответить
      • Это, я так понимаю, новый диалект? BasiC++, от создателей C++/CLI, C++/CX?
        Ответить
        • В вашей неуютной сишечке даже так нельзя делать?(
          Ответить
          • Конечно, можно. Если в top[] целые
            Только результат малость озадачит.
            Ответить
            • залез в доки и всё понял.
              Ответить
              • Хочешь, удивлю? Я догадываюсь, чья ты файка.

                Чёртов «Граватар», палит всех так, что даже становится скучно.
                Ответить
            • Зачем результат озадачит?
              Ответить
              • Ш-ш-ш, ты выходишь из образа. Тебе нужен 3oMbNpoBaHHblu_nemyx.
                Ответить
                • Зачем «Граватар» не поддерживает анимированные изображения?

                  Малость хочется гипножабу поставить.
                  Ответить
                  • Много анимированные изображения весят.

                    Малость тормозить начнёт у юзеров.
                    Ответить
                    • У меня пхпбб форумы с гифкамина аватарах никогда не тормозили.

                      Ну хотя там сообщения постранично выводятся, а например тут всё в кучу. Предсьавляю, какой багор был бы, если бы в треде для каклосрача у всех было бы по гифке на аватаре.
                      Ответить
                • 3OMbuPylOLLLuu_nemyx
                  Ответить
          • тк раздел все же c++, то см std::inner_product
            Ответить
            • http://www.cplusplus.com/reference/numeric/inner_product/

              читал. если то сверху говно, а в доке написано как правильно делать, то...

              "I don't want to live on this planet anymore" (c) Futurama.
              Ответить
              • в доке написано, как сделать, например, сумму квадратов элементов произвольной последовательности

                это я уже потом догадался, что в оп имелась в виду банальная длина вектора в R3
                Ответить
      • > top[0]^2
        Хм, интересное применение xor'а...

        Вот тебе примеры, поразмышляй немного:
        5 ^ 2 = 7
        2 ^ 2 = 0
        7 ^ 3 = 4
        Ответить
    • если всего несколько аргументов, то применение inner_product может быт медленнее этого кода.
      Ответить
      • да, почти
        bit.ly/14OXCSG

        addsd .LC0(%rip), %xmm1
        что это, гцц прибавляет ноль?
        Ответить
        • Странный код. В LC0 действительно нулевая константа. И gcc ее зачем-то прибавляет.

          А насчет производительности - там sqrtsd скорее всего будет бутылочным горлышком, или вообще обращение к памяти, на лишний add можно забить.
          Ответить

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