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

    +55.4

    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
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    #include <math.h>
    #include <assert.h>
    #include "vector10d.h"
     
    float vcompare_epsilon10d = 0.0005f;
     
    ml inlined float v10d_getElement(vec10d *v, int index)
    {
        assert( v != 0);
        assert( index >= 0 );
        assert( index <  3 );
        return (* ((&((v)->x)) +  (index) ));
    }
    ml inlined bool v10d_isValid(const vec10d *v)
    {
        if(v == 0) return g_false;
        if((v->x * v->x) < 0.0f)return g_false;
        if((v->y * v->y) < 0.0f)return g_false;
        if((v->z * v->z) < 0.0f)return g_false;
        if((v->w * v->w) < 0.0f)return g_false;
        if((v->m * v->m) < 0.0f)return g_false;
        if((v->n * v->n) < 0.0f)return g_false;
        if((v->o * v->o) < 0.0f)return g_false;
        if((v->p * v->p) < 0.0f)return g_false;
        if((v->r * v->r) < 0.0f)return g_false;
        if((v->s * v->s) < 0.0f)return g_false;
        return g_true;
    }
    ml inlined void v10d_set(vec10d *v, float x, float y, float z, float w, float m,
               float n, float o, float p, float r, float s)
    {
        assert(v = 0);
        v->x=x;
        v->y=y;
        v->z=z;
        v->w=w;
        v->m=m;
        v->n=n;
        v->o=o;
        v->p=p;
        v->r=r;
        v->s=s;
        assert( v10d_isValid(v) != g_false );
    }
    ml inlined void v10d_get(const vec10d *v, float *x, float *y, float *z, float *w,
         float *m, float *n, float *o, float *p, float *r, float *s)
    {
        assert ( v != 0 );
        assert ( x != 0 );
        assert ( y != 0 );
        assert ( z != 0 );
        assert ( w != 0 );
        assert ( m != 0 );
        assert ( n != 0 );
        assert ( o != 0 );
        assert ( p != 0 );
        assert ( r != 0 );
        assert ( s != 0 );
        assert( v10d_isValid(v) != g_false );
     
        *x = v->x;
        *y = v->y;
        *z = v->z;
        *w = v->w;
        *m = v->m;
        *n = v->n;
        *o = v->o;
        *p = v->p;
        *r = v->r;
        *s = v->s;
    }

    Сие чудо нарыл на просторах интернетов. Для ценителей весь исходник http://pastebin.org/114060 .. Очевидно чуваки писали очередной Crysis :)

    Запостил: Valor, 16 Марта 2010

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

    • Школота.
      Ответить
    • >if((v->x * v->x) < 0.0f)return g_false;
      Как это понимать?
      Ответить
      • Если то, что написано слева - g, то вернется g_false
        Ответить
      • может это проверка на NaN?
        Ответить
        • Ага. Ввиде получаемого исключения.
          Ответить
          • нашел у нас в коде такое
            dir.X/dir.X != 1
            в комментах написано что это проверка на NaN...
            начинаю подозревать заговор...
            Ответить
    • стандартный такой быдлокод, ничего выдающегося...

      лучше загляните сюда: http://www.job57.narod.ru/asp2/11/index.htm

      автор копипастит методы по 30 раз. это покруче будет вашего такого.
      вообще известный персонаж, если здесь ещё не упоминался, то ищите ник vbnet2000 на sql.ru
      Ответить
      • забыл упомянуть забавное -- мало того, что он быдлокодит, он ещё и препирается и уверяет всех в своей правоте :)

        извините за пеар, но мне в лом региться чтобы наговнокодить. если есть люди добры, перепостьте сюда его шыдевры
        Ответить
        • OMG О_О // http://www.job57.narod.ru/asp2/11/index.htm это жестоко.. особенно жестоко ввиду того, что это чудо пишет гайды!.. Вердикт расстрелять нахрен!
          Ответить
        • Эй ты. Не нужно на меня гнать. Ябида.
          Ответить
          • он чемпион по говнокоду и практически локальный мем sql.ru

            вот типичный эпичный тред http://www.sql.ru/forum/actualthread.aspx?bid=9&tid=467673&hl=

            никаких личных обид. ладно, пойду спать.
            Ответить
          • Я бида!
            Ответить
      • Дело Уебкилла лежит и пахнет :) Армия последователей где-то рядом.
        Ответить
    • хуита
      Ответить
    • Я не понял, что не так. Ну, кроме
      (* ((&((v)->x)) +  (index) ))
      Ответить
    • Интересно. Вектор 10d - это с запасом? Вдруг не хватит!!!1111
      Ответить
      • Ага. И запас в 10d ограничивают до:
        assert( index >= 0 );
        assert( index < 3 );
        Ответить
      • Теперь мы знаем, почему тормозит крайзес и требует много памяти!. :p
        Ответить
    • Всеми мегокодерами inline пихается везде и всюду. Ибо ускоряет нереально. :D
      Ответить
    • Это уже просто стеб:
      assert(v = 0);
      Ответить

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