(p []byte)
| 44 | } |
| 45 | |
| 46 | func (self *Reader) Read(p []byte) (n int, err error) { |
| 47 | for n < len(p) { |
| 48 | want := 8 |
| 49 | if len(p)-n < want { |
| 50 | want = len(p) - n |
| 51 | } |
| 52 | var bits uint64 |
| 53 | if bits, err = self.ReadBits64(want * 8); err != nil { |
| 54 | break |
| 55 | } |
| 56 | for i := 0; i < want; i++ { |
| 57 | p[n+i] = byte(bits >> uint((want-i-1)*8)) |
| 58 | } |
| 59 | n += want |
| 60 | } |
| 61 | return |
| 62 | } |
| 63 | |
| 64 | type Writer struct { |
| 65 | W io.Writer |