code: def hash64( key, seed = 0x0, x64arch = True ):
      ''' Implements 64bit murmur3 hash. Returns a tuple. '''
  
      hash_128 = hash128( key, seed, x64arch )
  
      unsigned_val1 = hash_128 & 0xFFFFFFFFFFFFFFFF
      if unsigned_val1 & 0x8000000000000000 == 0:
          signed_val1 = unsigned_val1
      else:
          signed_val1 = -( (unsigned_val1 ^ 0xFFFFFFFFFFFFFFFF) + 1 )
  
      unsigned_val2 = ( hash_128 >> 64 ) & 0xFFFFFFFFFFFFFFFF
      if unsigned_val2 & 0x8000000000000000 == 0:
          signed_val2 = unsigned_val2
      else:
          signed_val2 = -( (unsigned_val2 ^ 0xFFFFFFFFFFFFFFFF) + 1 )
  
      return ( int( signed_val1 ), int( signed_val2 ) f hash64( key, seed = 0x0, x64arch = True ):
      ''' Implements 64bit murmur3 hash. Returns a tuple. '''
  
      hash_128 = hash128( key, seed, x64arch )
  
      unsigned_val1 = hash_128 & 0xFFFFFFFFFFFFFFFF
      if unsigned_val1 & 0x8000000000000000 == 0:
          signed_val1 = unsigned_val1
      else:
          signed_val1 = -( (unsigned_val1 ^ 0xFFFFFFFFFFFFFFFF) + 1 )
  
      unsigned_val2 = ( hash_128 >> 64 ) & 0xFFFFFFFFFFFFFFFF
      if unsigned_val2 & 0x8000000000000000 == 0:
          signed_val2 = unsigned_val2
      else:
          signed_val2 = -( (unsigned_val2 ^ 0xFFFFFFFFFFFFFFFF) + 1 )
  
      return ( int( signed_val1 ), int( signed_val2 ) )
docs: Implements 64bit murmur3 hash. Returns a tuple.