X-Git-Url: https://git.distorted.org.uk/~mdw/mLib-python/blobdiff_plain/704500e11c6a7e240acc047607d34bc6db520f15..HEAD:/unihash.pyx diff --git a/unihash.pyx b/unihash.pyx index de6f3d4..8ededb0 100644 --- a/unihash.pyx +++ b/unihash.pyx @@ -24,19 +24,23 @@ ### Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. def setglobalkey(uint32 k): + """setglobalkey(K): set global hash key""" unihash_setkey(&unihash_global, k) cdef class Key: + """Key(K): universal hashing key""" cdef unihash_info _i cdef uint32 _k def __cinit__(me, uint32 k): unihash_setkey(&me._i, k) me._k = k property k: + """K.k -> INT: the key value""" def __get__(me): return _u32(me._k) cdef class Unihash: + """Unihash([key = None]): universal hashing context""" cdef uint32 _a cdef readonly Key key cdef unihash_info *_i @@ -50,11 +54,13 @@ cdef class Unihash: me._i = &k._i me._a = UNIHASH_INIT(me._i) def chunk(me, data): + """U.chunk(STR): hash the STR""" cdef void *p cdef Py_ssize_t n PyObject_AsReadBuffer(data, &p, &n) me._a = unihash_hash(me._i, me._a, p, n) def done(me): + """U.done() -> INT: the hash of the data""" return _u32(me._a) ###----- That's all, folks --------------------------------------------------