mirror of
https://github.com/minio/minio.git
synced 2024-12-27 07:35:55 -05:00
fb34c5290c
Provides fast CRC32C with PCLMULQDQ instructions in Golang The white papers on CRC32C calculations with PCLMULQDQ instruction can be downloaded from: http://www.intel.com/content/dam/www/public/us/en/documents/white-papers/crc-iscsi-polynomial-crc32-instruction-paper.pdf http://www.intel.com/content/dam/www/public/us/en/documents/white-papers/fast-crc-computation-paper.pdf
25 lines
524 B
Go
25 lines
524 B
Go
package crc32c
|
|
|
|
import (
|
|
. "gopkg.in/check.v1"
|
|
"testing"
|
|
)
|
|
|
|
func Test(t *testing.T) { TestingT(t) }
|
|
|
|
type MySuite struct{}
|
|
|
|
var _ = Suite(&MySuite{})
|
|
|
|
func (s *MySuite) TestCrc32c(c *C) {
|
|
data_1 := []byte("Lorem Ipsum is simply dummy text of the printing and typesetting industry")
|
|
crc, err := Crc32c(data_1)
|
|
c.Assert(err, IsNil)
|
|
|
|
data_2 := []byte("Lorem Ipsum is simply dummy text of the printing and typesetting industry")
|
|
newcrc, newerr := Crc32c(data_2)
|
|
c.Assert(newerr, IsNil)
|
|
|
|
c.Assert(crc, Equals, newcrc)
|
|
}
|