1 // BitlDecoder.cpp 2 3 #include "StdAfx.h" 4 5 #include "BitlDecoder.h" 6 7 namespace NBitl { 8 9 #if defined(Z7_BITL_USE_REVERSE_BITS_TABLE) 10 11 MY_ALIGN(64) 12 Byte kReverseTable[256]; 13 14 static 15 struct CReverseerTableInitializer 16 { CReverseerTableInitializerNBitl::CReverseerTableInitializer17 CReverseerTableInitializer() 18 { 19 for (unsigned i = 0; i < 256; i++) 20 { 21 unsigned 22 x = ((i & 0x55) << 1) | ((i >> 1) & 0x55); 23 x = ((x & 0x33) << 2) | ((x >> 2) & 0x33); 24 kReverseTable[i] = (Byte)((x << 4) | (x >> 4)); 25 } 26 } 27 } g_ReverseerTableInitializer; 28 29 #elif 0 30 unsigned ReverseBits8test(unsigned i) { return ReverseBits8(i); } 31 #endif 32 } 33