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

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
uint8_t const Q_ROM QF_div8Lkup[65] = {
    static_cast<uint8_t>(0), // unused location
    static_cast<uint8_t>(0), static_cast<uint8_t>(0), static_cast<uint8_t>(0),
    static_cast<uint8_t>(0), static_cast<uint8_t>(0), static_cast<uint8_t>(0),
    static_cast<uint8_t>(0), static_cast<uint8_t>(0),
    static_cast<uint8_t>(1), static_cast<uint8_t>(1), static_cast<uint8_t>(1),
    static_cast<uint8_t>(1), static_cast<uint8_t>(1), static_cast<uint8_t>(1),
    static_cast<uint8_t>(1), static_cast<uint8_t>(1),
    static_cast<uint8_t>(2), static_cast<uint8_t>(2), static_cast<uint8_t>(2),
    static_cast<uint8_t>(2), static_cast<uint8_t>(2), static_cast<uint8_t>(2),
    static_cast<uint8_t>(2), static_cast<uint8_t>(2),
    static_cast<uint8_t>(3), static_cast<uint8_t>(3), static_cast<uint8_t>(3),
    static_cast<uint8_t>(3), static_cast<uint8_t>(3), static_cast<uint8_t>(3),
    static_cast<uint8_t>(3), static_cast<uint8_t>(3),
    static_cast<uint8_t>(4), static_cast<uint8_t>(4), static_cast<uint8_t>(4),
    static_cast<uint8_t>(4), static_cast<uint8_t>(4), static_cast<uint8_t>(4),
    static_cast<uint8_t>(4), static_cast<uint8_t>(4),
    static_cast<uint8_t>(5), static_cast<uint8_t>(5), static_cast<uint8_t>(5),
    static_cast<uint8_t>(5), static_cast<uint8_t>(5), static_cast<uint8_t>(5),
    static_cast<uint8_t>(5), static_cast<uint8_t>(5),
    static_cast<uint8_t>(6), static_cast<uint8_t>(6), static_cast<uint8_t>(6),
    static_cast<uint8_t>(6), static_cast<uint8_t>(6), static_cast<uint8_t>(6),
    static_cast<uint8_t>(6), static_cast<uint8_t>(6),
    static_cast<uint8_t>(7), static_cast<uint8_t>(7), static_cast<uint8_t>(7),
    static_cast<uint8_t>(7), static_cast<uint8_t>(7), static_cast<uint8_t>(7),
    static_cast<uint8_t>(7), static_cast<uint8_t>(7)
};

// ....

    //! the function evaluates to TRUE if the priority set has the element n.
    bool hasElement(uint_fast8_t const n) const {
        uint_fast8_t const m =
            static_cast<uint_fast8_t>(Q_ROM_BYTE(QF_div8Lkup[n]));
        return ((m_bits[m]
                  & static_cast<uint_fast8_t>(Q_ROM_BYTE(QF_pwr2Lkup[n])))
               != static_cast<uint_fast8_t>(0));
    }

    //! insert element \a n into the set, n = 1..64
    void insert(uint_fast8_t const n) {
        uint_fast8_t m =
            static_cast<uint_fast8_t>(Q_ROM_BYTE(QF_div8Lkup[n]));
        m_bits[m] |= static_cast<uint_fast8_t>(Q_ROM_BYTE(QF_pwr2Lkup[n]));
        m_bytes   |=
            static_cast<uint_fast8_t>(Q_ROM_BYTE(QF_pwr2Lkup[m
                                          + static_cast<uint_fast8_t>(1)]));
    }

делим на 8 в индустриальном С++. это такой специальный вариант крестов где пользователям сначала лоботомию делают.

из реализации bitset'а. insert() приведен в качестве примера.

Запостил: Dummy00001 Dummy00001, (Updated )

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

  • Пиздец. Неужели на этом контроллере быстрее сделать лукап из таблички чем 3 шифта вправо?
    Ответить
    • это для обычных армов и прочего.

      ирония в том что на арме шифт даже обычный мув умеет делать. только в тамбе это должно быть отдельной инструкцией.
      Ответить
  • > uint8_t const Q_ROM QF_div8Lkup[65]

    АХАХАХА Пиздец нубасы я так ржал что под стол упал, долбоёбики-параноики, везде статик касты, куча хуиты всякой типа безопасной шоб нидайбог хацкерский шифт не сделать, но при этом... СЫРОЙ МАССИВ!!!!! ААААААААА ЛОЛИЩЕЕЕЕЕЕЕЕЕ
    Ответить
  • вот еще красоты из хидера:
    uint8_t const u8_0 = static_cast<uint8_t>(0);
    uint8_t const u8_1 = static_cast<uint8_t>(1);
    uint8_t const u8_0x80 = static_cast<uint8_t>(0x80);
    uint8_t const u8_0x7F = static_cast<uint8_t>(0x7F);
    uint16_t const u16_0 = static_cast<uint16_t>(0);
    uint_fast8_t const uf8_0 = static_cast<uint_fast8_t>(0);
    uint_fast8_t const uf8_1 = static_cast<uint_fast8_t>(1);
    uint_fast16_t const uf16_0 = static_cast<uint_fast16_t>(0);
    uint_fast16_t const uf16_1 = static_cast<uint_fast16_t>(1);
    QTimeEvtCtr const tc_0 = static_cast<QTimeEvtCtr>(0);
    
    void       * const null_void = static_cast<void *>(0);
    QEvt const * const null_evt  = static_cast<QEvt const *>(0);
    QTimeEvt   * const null_tevt = static_cast<QTimeEvt *>(0);
    QActive    * const null_act  = static_cast<QActive *>(0);

    особая любовь у чудаков, заметил, нуллы типизированые на всё подряд заводить, а потом все reinterpret_cast'ами обвешать:
    #define QM_TRAN(tatbl_) \
        (me->qm_tran_(reinterpret_cast<QP::QMTranActTable const *>(tatbl_)))
    
    #define QM_TRAN_INIT(tatbl_) \
        (me->qm_tran_init_(reinterpret_cast<QP::QMTranActTable const *>(tatbl_)))
        
    #define QM_TRAN_HIST(history_, tatbl_) \
        (me->qm_tran_hist_((history_), \
         reinterpret_cast<QP::QMTranActTable const *>(tatbl_)))
    
    #define QM_TRAN_EP(tatbl_) \
        (me->qm_tran_ep_(reinterpret_cast<QP::QMTranActTable const *>(tatbl_)))
    
    #define QM_TRAN_XP(xp_, tatbl_) \
        (me->qm_tran_xp_((xp_), \
            reinterpret_cast<QP::QMTranActTable const *>(tatbl_)))
    Ответить

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

Переведи на "PHP", guest!

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


    8