--MXxcbiX/Q4+iy5U7 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Aug 30, 2002 at 09:54:54PM +0900, Park Heesob wrote: > "Robert Feldt" <feldt / ce.chalmers.se> wrote in message > news:Pine.GSO.4.44.0208301404310.28565-100000 / duquesne.ce.chalmers.se... > > Try this > > def crc32(c) > n = c.length > r = 0xFFFFFFFF > n.times do |i| > r ^= c[i] > 8.times do > if (r & 1)!=0 > r = (r>>1) ^ 0xEDB88320 > else > r >>= 1 > end > end > end > r ^ 0xFFFFFFFF > end Or (more rubyish) def crc32(c) r = 0xFFFFFFFF c.each_byte do |b| r ^= b 8.times do r = (r>>1) ^ (0xEDB88320 * (r & 1)) end end r ^ 0xFFFFFFFF end -billy. -- Meisterbohne Söælinger StraÝÆ 100 Tel: +49-731-399 499-0 eLungen 89077 Ulm Fax: +49-731-399 499-9 --MXxcbiX/Q4+iy5U7 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.7 (GNU/Linux) iD8DBQE9b5E8fBriNoqItSYRArr2AJ4pTrcwc0ZQ3Ph5hPdVO6102l4T+ACdElfG HKVzc6Vq6avTLsXqZ2KuygI KV -----END PGP SIGNATURE----- --MXxcbiX/Q4+iy5U7--