CRC32 Document?

Hi Jared

here is a Clarion version that I did for someone on the newsgroups a few years ago.

it should be compatible with other languages etc and is very fast:

VitCRC              PROCEDURE  (*STRING pStr)     
i    long,auto
crc  ulong,auto

  CODE
  if ~address(pStr) then return 0. ! just in case
  crc = 0FFFFFFFFh
  loop i = 1 to size(pStr)
    crc = BXOR(crc,Val(pStr[i]))
    loop 8 TIMES
      crc = BXOR(BSHIFT(crc, -1), BAND(0EDB88320h, -(BAND(crc,1))))
    end 
  end 
  return BXOR(crc,0FFFFFFFFh)

cheers

Geoff R

1 Like