Кресты / Говнокод #2802 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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 Valor, (Updated )

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

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

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

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

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

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

Из-за тебя ушел bormand, guest!

    А не использовать ли нам bbcode?


    8