X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/mLib-python/blobdiff_plain/20bce5e92b01cd928f26b61be78215117039c561..3655f952feb7cd89371dd65fb78e1435e50f9bcc:/unihash.pyx diff --git a/unihash.pyx b/unihash.pyx index f52e4af..565959f 100644 --- a/unihash.pyx +++ b/unihash.pyx @@ -15,40 +15,16 @@ # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. -# +# # mLib/Python is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -# +# # You should have received a copy of the GNU General Public License # along with mLib/Python; if not, write to the Free Software Foundation, # Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -cdef extern from 'mLib/unihash.h': - ctypedef int uint32 - ctypedef struct unihash_info: - pass - void unihash_setkey(unihash_info *i, uint32 k) - uint32 UNIHASH_INIT(unihash_info *i) - uint32 unihash_hash(unihash_info *i, uint32 a, void *p, int sz) - unihash_info unihash_global - -cdef extern from 'limits.h': - enum: - LONG_MAX - -cdef extern from 'Python.h': - int PyObject_AsReadBuffer(obj, void **buf, int *len) except -1 - PyInt_FromLong(long i) - PyLong_FromUnsignedLong(unsigned long i) - -cdef _u32(uint32 x): - if x < LONG_MAX: - return PyInt_FromLong(x) - else: - return PyLong_FromUnsignedLong(x) - def setglobalkey(uint32 k): unihash_setkey(&unihash_global, k)