### Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
cdef class CRC32:
+ """CRC32(): calculate CRC32 of a stream"""
cdef uint32 _a
def __cinit__(me, *hunoz, **hukairz):
me._a = 0
def __init__(me):
pass
def chunk(me, data):
+ """C.chunk(STR): process another chunk of input"""
cdef void *p
cdef Py_ssize_t n
PyObject_AsReadBuffer(data, <cvp *>&p, &n)
me._a = c_crc32(me._a, p, n)
return me
def done(me):
+ """C.done() -> INT: return CRC of data"""
return _u32(me._a)
def crc32(data):
+ """crc32(STR) -> INT"""
cdef void *p
cdef Py_ssize_t n
cdef uint32 c