## crc - 32-bit Cyclic Redundancy Check

### Module Description

The crc module implements a 32-bit cyclic redundancy check calculation.

### Module Words

#### CRC-32 Structure

crc% ( -- n )
  Get the required space for a crc-32 variable

#### CRC-32 variable creation, initialisation and destruction

crc-init ( crc -- )
  Initialise the crc
crc-create ( "<spaces>name" -- ; -- crc )
  Create a named crc variable in the dictionary
crc-(free) ( crc -- )
  Free the internal table from the heap
crc-new ( -- crc )
  Create a new crc variable on the heap
crc-free ( crc -- )
  Free the crc from the heap

#### Member words

crc-poly! ( u crc -- )
  Use the polynomial u for the crc
crc-poly@ ( crc -- u )
  Get the polynomial u in the crc

#### CRC-32 words

crc-reset ( crc -- )
  Reset the crc calculation
crc-update ( c-addr u crc -- )
  Update the crc structure with more byte data
crc-finish ( crc -- u )
  Finish the calculation, return the CRC32 result

#### Module words

crc+calc-poly ( u1 .. un n -- u )
  Calculate the polynomial u
crc+calc-crc32 ( c-addr u -- u1 )
  Calculate the CRC32 for byte data with default crc32 table

generated 03-Jun-2010 by ofcfrth-0.10.0