Package crc64 implements the 64-bit cyclic redundancy check, or CRC-64, checksum. See http://en.wikipedia.org/wiki/Cyclic_redundancy_check for information.
Internal call graph ▹
Internal call graph ▾
In the call graph viewer below, each node is a function belonging to this package and its children are the functions it calls—perhaps dynamically.
The root nodes are the entry points of the package: functions that may be called from outside the package. There may be non-exported or anonymous functions among them if they are called dynamically from another package.
Click a node to visit that function's source code.
From there you can visit its callers by
clicking its declaring
Functions may be omitted if they were determined to be unreachable in the particular programs or tests that were analyzed.
const ( // The ISO polynomial, defined in ISO 3309 and used in HDLC. ISO = 0xD800000000000000 // The ECMA polynomial, defined in ECMA 182. ECMA = 0xC96C5795D7870F42 )
The size of a CRC-64 checksum in bytes.
const Size = 8
func Checksum(data byte, tab *Table) uint64
Checksum returns the CRC-64 checksum of data using the polynomial represented by the Table.
func New(tab *Table) hash.Hash64
New creates a new hash.Hash64 computing the CRC-64 checksum using the polynomial represented by the Table. Its Sum method will lay the value out in big-endian byte order.
func Update(crc uint64, tab *Table, p byte) uint64
Update returns the result of adding the bytes in p to the crc.
Table is a 256-word table representing the polynomial for efficient processing.
type Table uint64
func MakeTable(poly uint64) *Table
MakeTable returns a Table constructed from the specified polynomial. The contents of this Table must not be modified.