Browse Source

docs: describe bitwise constants

legacy
Dnomd343 2 years ago
parent
commit
95a651fb90
  1. 15
      src/utils/common.h

15
src/utils/common.h

@ -14,16 +14,31 @@
#define C_2x1 (uint64_t)0x7002 // 111 000 000 000 010 #define C_2x1 (uint64_t)0x7002 // 111 000 000 000 010
#define C_2x2 (uint64_t)0x3F03C // 111 111 000 000 111 100 #define C_2x2 (uint64_t)0x3F03C // 111 111 000 000 111 100
/// C_1x1 | C_1x2 | C_2x1 | C_2x2
/// 011 000 000 000 | 001 111 000 000 | 010 000 000 000 | 100 111 000 000
/// 000 000 000 000 | 000 000 000 000 | 111 000 000 000 | 111 111 000 000
/// ... | ... | ... | ...
#define F_1x1 (uint64_t)0x7 // 111 #define F_1x1 (uint64_t)0x7 // 111
#define F_1x2 (uint64_t)0x3F // 111 111 #define F_1x2 (uint64_t)0x3F // 111 111
#define F_2x1 (uint64_t)0x7007 // 111 000 000 000 111 #define F_2x1 (uint64_t)0x7007 // 111 000 000 000 111
#define F_2x2 (uint64_t)0x3F03F // 111 111 000 000 111 111 #define F_2x2 (uint64_t)0x3F03F // 111 111 000 000 111 111
/// F_1x1 | F_1x2 | F_2x1 | F_2x2
/// 111 000 000 000 | 111 111 000 000 | 111 000 000 000 | 111 111 000 000
/// 000 000 000 000 | 000 000 000 000 | 111 000 000 000 | 111 111 000 000
/// ... | ... | ... | ...
#define F_1x1_R (uint64_t)0x38 // 111 000 #define F_1x1_R (uint64_t)0x38 // 111 000
#define F_1x1_D (uint64_t)0x7000 // 111 000 000 000 000 #define F_1x1_D (uint64_t)0x7000 // 111 000 000 000 000
#define F_2x1_R (uint64_t)0x38038 // 111 000 000 000 111 000 #define F_2x1_R (uint64_t)0x38038 // 111 000 000 000 111 000
#define F_1x2_D (uint64_t)0x3F000 // 111 111 000 000 000 000 #define F_1x2_D (uint64_t)0x3F000 // 111 111 000 000 000 000
/// F_1x1_R | F_1x1_D | F_2x1_R | F_1x2_D
/// 000 111 000 000 | 000 000 000 000 | 000 111 000 000 | 000 000 000 000
/// 000 000 000 000 | 111 000 000 000 | 000 111 000 000 | 111 111 000 000
/// ... | ... | ... | ...
class Common { class Common {
public: public:
static uint32_t range_reverse(uint32_t bin); static uint32_t range_reverse(uint32_t bin);

Loading…
Cancel
Save