1. Список говнокодов пользователя CPPGovno

    Всего: 41

  2. C++ / Говнокод #7887

    +149

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    for(int i=0;i<size1;i+=4)
          {
            float4 boxMax(plist[i+0].Box().vmax[axis], plist[i+1].Box().vmax[axis], plist[i+2].Box().vmax[axis], plist[i+3].Box().vmax[axis]);
            float4 boxMin(plist[i+0].Box().vmin[axis], plist[i+1].Box().vmin[axis], plist[i+2].Box().vmin[axis], plist[i+3].Box().vmin[axis]);
    
            register __m128 a = _mm_and_ps(_mm_cmplt_ps(boxMax, vSplit), one);
            register __m128 b = _mm_and_ps(_mm_cmpgt_ps(boxMin, vSplit), one);
            
            register __m128 left  = _mm_sub_ps(one, b); // left  = 1 - b; same as not(b) 
            register __m128 right = _mm_sub_ps(one, a); // right = 1 - a; same as not(a) 
    
            summLeft += (left.m128_i32[0] + left.m128_i32[1] + left.m128_i32[2] + left.m128_i32[3]);
            summRight+= (right.m128_i32[0] + right.m128_i32[1] + right.m128_i32[2] + right.m128_i32[3]);
          }

    http://www.gamedev.ru/code/forum/?id=141592
    История про то, как Пятачок оптимизировал простой цикл:

    for(int i=0;i<plist.size();i++)
    {
    if(plist[i].Box().vmax[axis] < split)
    summLeft++;
    else if(plist[i].Box().vmin[axis] > split)
    summRight++;
    else
    {
    summLeft++;
    summRight++;
    }
    }

    CPPGovno, 18 Сентября 2011

    Комментарии (15)
  3. C++ / Говнокод #7877

    +157

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    class SOME_CLASS
    {
    public:
    
      struct
      {
        inline uintb operator = (uintb newValue )
        {
           (reinterpret_cast<SOME_CLASS*>(static_cast<char*>(this)-offsetof(SOME_CLASS,SOME_CLASS::i)))->_setI( newValue  );
        }
        inline operator uintb ()
        {
           return (reinterpret_cast<SOME_CLASS*>(static_cast<char*>(this)-offsetof(SOME_CLASS,SOME_CLASS::i)))->_i;
        }
        ...
        ...
      } i;
    
     ...
    private:
      void _setI( uintb newValue );
      uintb _i;
    }

    http://www.gamedev.ru/code/forum/?id=152459#m1

    >P.S. обязательно поставить + на govnokod.ru.

    CPPGovno, 16 Сентября 2011

    Комментарии (20)
  4. C++ / Говнокод #7828

    +161

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    template<typename T,typename FIELD_T>
    struct type_has_field{
      typedef char yes_type;
      struct no_type{char padding[8];};
      template<class U>
      static yes_type check_sig1(
        U*,
        FIELD_T(U::*)=&U::field          // !!!Most importantly!!!
      );
      template<class U>
      static no_type check_sig1(...);
      static const bool value=sizeof(check_sig1<T>(0))==sizeof(yes_type);
    };

    http://www.gamedev.ru/code/forum/?id=152200

    CPPGovno, 10 Сентября 2011

    Комментарии (34)
  5. C++ / Говнокод #7792

    +162

    1. 1
    2. 2
    if (suspended())
      resume();

    http://www.gamedev.ru/code/forum/?id=152077

    CPPGovno, 07 Сентября 2011

    Комментарии (6)
  6. Pascal / Говнокод #7783

    +101

    1. 1
    2. 2
    3. 3
    i := -7; // если после этой строчки загнать в отладчик i shr 1, то отладчик покажет -4
    i := i shr 1; // после этой строчки i становится равно 2147483644
    i := (-7) shr 1; // после этой строчки i становится равно 4

    Delphi7 такой Delphi7...

    http://www.gamedev.ru/code/forum/?id=138759&page=25#m367
    Тарас любит дельфи.

    CPPGovno, 06 Сентября 2011

    Комментарии (150)
  7. C# / Говнокод #7773

    +976

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public static bool MegaDispose(this IDisposable thіs)
    {
      if (thіs != null)
      {
        thіs.Dispose();
        return true;
      }
      return false;
    }

    CPPGovno, 05 Сентября 2011

    Комментарии (16)
  8. C++ / Говнокод #7760

    +169

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    inline float _read_zbuf(int x, int y){
      float v;
      glReadPixels(x,screen.height-y+1,1,1,GL_DEPTH_COMPONENT,GL_FLOAT,&v);
      return v;
    }

    >Для определения жизни под мышкой решил использовать изменение значений в буфере глубины, но glGetPixels уронил мне фпс на 300, и это один вызов финальной проверки, а что будет когда объекты проверятся начнут подумать страшно.
    Неужели все так плохо ???

    http://www.gamedev.ru/code/forum/?id=151921

    CPPGovno, 03 Сентября 2011

    Комментарии (18)
  9. C++ / Говнокод #7750

    +170

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    assert( top( o-------o
                 |L       \
                 | L       \
                 |  o-------o
                 |  !       !
                 !  !       !
                 o  |       !
                  L |       !
                   L|       !
                    o-------o ) == ( o-------o
                                     |       !
                                     !       !
                                     o-------o ) );

    CPPGovno, 02 Сентября 2011

    Комментарии (20)
  10. C++ / Говнокод #7738

    +147

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    template<typename _Tp>
        pair<_Tp*, ptrdiff_t>
        get_temporary_buffer(ptrdiff_t __len)
        {
          const ptrdiff_t __max =
      __gnu_cxx::__numeric_traits<ptrdiff_t>::__max / sizeof(_Tp);
          if (__len > __max)
      __len = __max;
          
          while (__len > 0) 
      {
        _Tp* __tmp = static_cast<_Tp*>(::operator new(__len * sizeof(_Tp), 
                  std::nothrow));
        if (__tmp != 0)
          return std::pair<_Tp*, ptrdiff_t>(__tmp, __len);
        __len /= 2;                                    // !?!?!?!?!?!?!?!?
      }
          return std::pair<_Tp*, ptrdiff_t>(static_cast<_Tp*>(0), 0);
        }
    
      template<typename _Tp>
        inline void
        return_temporary_buffer(_Tp* __p)
        { ::operator delete(__p, std::nothrow); }

    CPPGovno, 02 Сентября 2011

    Комментарии (5)
  11. C++ / Говнокод #7737

    +153

    1. 1
    2. 2
    3. 3
    bool (A::*F[2])(int);
    //...
    return (this->*F[n])(i);

    CPPGovno, 02 Сентября 2011

    Комментарии (2)