summaryrefslogtreecommitdiff
path: root/other-licenses/7zstub/src/7zip/Common/LSBFDecoder.cpp
blob: ada5890be8bfe979c1a27cea70d4ad3995f5cfce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// Stream/LSBFDecoder.cpp

#include "StdAfx.h"

#include "LSBFDecoder.h"

namespace NStream {
namespace NLSBF {

Byte kInvertTable[256];

class CInverterTableInitializer
{
public:
  CInverterTableInitializer()
  {
    for(int i = 0; i < 256; i++)
    {
      Byte b = Byte(i);
      Byte bInvert = 0;
      for(int j = 0; j < 8; j++)
      {
        bInvert <<= 1;
        if (b & 1)
          bInvert |= 1;
        b >>= 1;
      }
      kInvertTable[i] = bInvert;
    }
  }
} g_InverterTableInitializer;


}}