...

# Package crc32

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 `func`

token.

Functions may be omitted if they were
determined to be unreachable in the
particular programs or tests that were
analyzed.

## Constants

const (
IEEE = 0xedb88320
Castagnoli = 0x82f63b78
Koopman = 0xeb31d82e
)

Predefined polynomials.

const Size = 4

The size of a CRC-32 checksum in bytes.

## Variables

var IEEETable = makeTable(IEEE)

IEEETable is the table for the IEEE polynomial.

func Checksum(data []byte, tab *Table) uint32

Checksum returns the CRC-32 checksum of data
using the polynomial represented by the Table.

func ChecksumIEEE(data []byte) uint32

ChecksumIEEE returns the CRC-32 checksum of data
using the IEEE polynomial.

func New(tab *Table) hash.Hash32

New creates a new hash.Hash32 computing the CRC-32 checksum
using the polynomial represented by the Table.
Its Sum method will lay the value out in big-endian byte order.

func NewIEEE() hash.Hash32

NewIEEE creates a new hash.Hash32 computing the CRC-32 checksum
using the IEEE polynomial.
Its Sum method will lay the value out in big-endian byte order.

func Update(crc uint32, tab *Table, p []byte) uint32

Update returns the result of adding the bytes in p to the crc.

type Table [256]uint32

Table is a 256-word table representing the polynomial for efficient processing.

func MakeTable(poly uint32) *Table

MakeTable returns a Table constructed from the specified polynomial.
The contents of this Table must not be modified.