MCPcopy Index your code
hub / github.com/clips/pattern / readbits

Method readbits

pattern/web/pdf/lzw.py:24–46  ·  view source on GitHub ↗
(self, bits)

Source from the content-addressed store, hash-verified

22 return
23
24 def readbits(self, bits):
25 v = 0
26 while 1:
27 # the number of remaining bits we can get from the current buffer.
28 r = 8-self.bpos
29 if bits <= r:
30 # |-----8-bits-----|
31 # |-bpos-|-bits-| |
32 # | |----r----|
33 v = (v<<bits) | ((self.buff>>(r-bits)) & ((1<<bits)-1))
34 self.bpos += bits
35 break
36 else:
37 # |-----8-bits-----|
38 # |-bpos-|---bits----...
39 # | |----r----|
40 v = (v<<r) | (self.buff & ((1<<r)-1))
41 bits -= r
42 x = self.fp.read(1)
43 if not x: raise EOFError
44 self.buff = ord(x)
45 self.bpos = 0
46 return v
47
48 def feed(self, code):
49 x = ''

Callers 1

runMethod · 0.95

Calls 1

readMethod · 0.45

Tested by

no test coverage detected