def cdb_hash(key): h = long_type(5381) for c in key: h = (h + (h << 5)) & 0xffffffff ^ ord(c) return h
# those of the authors and should not be interpreted as representing official # policies, either expressed or implied, of Matt Chaput. import struct from array import array from whoosh.compat import long_type, xrange, PY3 _istruct = struct.Struct(">i") _qstruct = struct.Struct(">q") _dstruct = struct.Struct(">d") _ipack, _iunpack = _istruct.pack, _istruct.unpack _qpack, _qunpack = _qstruct.pack, _qstruct.unpack _dpack, _dunpack = _dstruct.pack, _dstruct.unpack _max_sortable_int = long_type(4294967295) _max_sortable_long = long_type(18446744073709551615) # Functions for converting numbers to and from sortable representations def int_to_sortable_int(x, signed=True): if signed: x += 1 << 31 assert x >= 0 return x def sortable_int_to_int(x, signed=True): if signed:
# policies, either expressed or implied, of Matt Chaput. import struct from array import array from whoosh.compat import long_type, PY3 from whoosh.support.base85 import to_base85, from_base85 _istruct = struct.Struct(">i") _qstruct = struct.Struct(">q") _dstruct = struct.Struct(">d") _ipack, _iunpack = _istruct.pack, _istruct.unpack _qpack, _qunpack = _qstruct.pack, _qstruct.unpack _dpack, _dunpack = _dstruct.pack, _dstruct.unpack _max_sortable_int = long_type(4294967295) _max_sortable_long = long_type(18446744073709551615) # Functions for converting numbers to and from sortable representations def int_to_sortable_int(x, signed=True): if signed: x += 1 << 31 assert x >= 0 return x def sortable_int_to_int(x, signed=True): if signed: x -= 1 << 31