a32 - Adler32 Algorithm

Module Description

The a32 module implements the Adler32 algorithm.

Module Words

Adler32 Structure

a32% ( -- n )
Get the required space for an Adler32 variable

Adler32 variable creation, initialisation and destruction

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

Member word

a32-length@ ( a32 -- u )
Get the length of the sum

Adler32 words

a32-reset ( a32 -- )
Reset the Adler32 state
a32-update ( c-addr u a32 -- )
Update the Adler32 with more data c-addr u
a32-finish ( a32 -- u )
Finish the Adler32 calculation, return the result u
a32^combine ( a32 a32 -- u )
Combine the twee Addler32 sums and return the combined sum u
a32+to-string ( u -- c-addr u )
Convert the Adler32 result to a string, using the pictured output area

Inspection

a32-dump ( a32 -- )
Dump the Adler32 variable

Examples

include ffl/a32.fs


\ Create an Adler32 variable ad1 in the dictionary

a32-create ad1

\ Update the variable with data

s" The quick brown fox jumps over the lazy dog" ad1 a32-update

\ Finish the Adler32 calculation resulting in unsigned 32 bit word
\ on the stack representing the value

ad1 a32-finish

\ Convert the value to a hex string and print

a32+to-string type cr



\ Create an Adler32 variable on the heap

a32-new value ad2

\ Update the variable with multiple data

s" The quick brown fox " ad2 a32-update
s" jumps over the lazy dog" ad2 a32-update

\ Finish the calculation

ad2 a32-finish

\ Convert the value to a hex string and print

a32+to-string type cr

\ Free the variable from the heap

ad2 a32-free

generated 03-Jun-2010 by ofcfrth-0.10.0