--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
HKVzc6Vq6avTLsXqZ2KuygIKV
-----END PGP SIGNATURE-----

--MXxcbiX/Q4+iy5U7--