-
Notifications
You must be signed in to change notification settings - Fork 0
/
util.go
47 lines (32 loc) · 942 Bytes
/
util.go
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
35
36
37
38
39
40
41
42
43
44
45
46
47
package flate
import (
"hash"
"io"
)
const strDefault = "default"
const bitsPerByte = 8
const bitsPerBlock = bytesPerBlock * bitsPerByte
func makeMask(shift byte) block {
if shift == 0 {
return 0
} else if shift >= bitsPerBlock {
return ^block(0)
} else {
return (block(1) << shift) - 1
}
}
// type dummyHash32 {{{
type dummyHash32 struct{}
func (dummyHash32) Reset() {}
func (dummyHash32) BlockSize() int { return 4 }
func (dummyHash32) Size() int { return 4 }
func (dummyHash32) Write(p []byte) (int, error) { return len(p), nil }
func (dummyHash32) Sum(p []byte) []byte { return append(p, 0, 0, 0, 0) }
func (dummyHash32) Sum32() uint32 { return 0 }
var _ hash.Hash32 = dummyHash32{}
// }}}
// type eofReader {{{
type eofReader struct{}
func (eofReader) Read([]byte) (int, error) { return 0, io.EOF }
var _ io.Reader = eofReader{}
// }}}