浏览代码

Make polynomial a type

Vlad Hanciuta 8 年之前
父节点
当前提交
07a5840e2e
共有 1 个文件被更改,包括 5 次插入3 次删除
  1. 5 3
      crc32_field.go

+ 5 - 3
crc32_field.go

@@ -6,8 +6,10 @@ import (
 	"hash/crc32"
 )
 
+type crcPolynomial int8
+
 const (
-	crcIEEE = iota
+	crcIEEE crcPolynomial = iota
 	crcCastagnoli
 )
 
@@ -16,7 +18,7 @@ var castagnoliTable = crc32.MakeTable(crc32.Castagnoli)
 // crc32Field implements the pushEncoder and pushDecoder interfaces for calculating CRC32s.
 type crc32Field struct {
 	startOffset int
-	polynomial  int
+	polynomial  crcPolynomial
 }
 
 func (c *crc32Field) saveOffset(in int) {
@@ -27,7 +29,7 @@ func (c *crc32Field) reserveLength() int {
 	return 4
 }
 
-func newCRC32Field(polynomial int) *crc32Field {
+func newCRC32Field(polynomial crcPolynomial) *crc32Field {
 	return &crc32Field{polynomial: polynomial}
 }