definitions checksums ;
IN: checksums.crc32
-CONSTANT: crc32-polynomial HEX: edb88320
+CONSTANT: crc32-polynomial 0xedb88320
CONSTANT: crc32-table V{ }
INSTANCE: crc32 checksum
: init-crc32 ( input checksum -- x y input )
- drop [ HEX: ffffffff dup ] dip ; inline
+ drop [ 0xffffffff dup ] dip ; inline
: finish-crc32 ( x y -- bytes )
bitxor 4 >be ; inline
M: crc32 checksum-bytes
init-crc32
[ (crc32) ] each
- finish-crc32 ;
+ finish-crc32 ; inline
M: crc32 checksum-lines
init-crc32
[ [ (crc32) ] each CHAR: \n (crc32) ] each
- finish-crc32 ;
+ finish-crc32 ; inline