old_contents: """
  Base class from which hash types can be created.
  
  Part of python-hashes by sangelone. See README and LICENSE.
  """
  
  default_hashbits = 96
  
  class Hashtype(object):
      def __init__(self, value='', hashbits=default_hashbits, hash=None):
          "Relies on create_hash() provided by subclass"
          self.hashbits = hashbits
          if hash:
              self.hash = hash
          else:
              self.create_hash(value)
  
      def __trunc__(self):
          return self.hash
  
      def __str__(self):
          return str(self.hash)
  
      def __long__(self):
          return long(self.hash)
  
      def __float__(self):
          return float(self.hash)
  
      def __cmp__(self, other):
          if self.hash < long(other): return -1
          if self.hash > long(other): return 1
          return 0
  
      def hex(self):
          return hex(self.hash)
  
      def hamming_distance(self, other_hash):
          x = (self.hash ^ other_hash.hash) & ((1 << self.hashbits) - 1)
          tot = 0
          while x:
              tot += 1
              x &= x-1
          return tot
  
      def __hash__(self):
          return self.hash
  
      def __eq__(self, other):
          return self.hash == other.hash
  
new_contents: """
  Base class from which hash types can be created.
  
  Part of python-hashes by sangelone. See README and LICENSE.
  """
  
  default_hashbits = 96
  
  class Hashtype(object):
      def __init__(self, value='', hashbits=default_hashbits, hash=None):
          "Relies on create_hash() provided by subclass"
          self.hashbits = hashbits
          if hash:
              self.hash = hash
          else:
              self.create_hash(value)
  
      def __trunc__(self):
          return self.hash
  
      def __str__(self):
          return str(self.hash)
  
      def __float__(self):
          return float(self.hash)
  
      def __cmp__(self, other):
          if self.hash < int(other): return -1
          if self.hash > int(other): return 1
          return 0
  
      def hex(self):
          return hex(self.hash)
  
      def hamming_distance(self, other_hash):
          x = (self.hash ^ other_hash.hash) & ((1 << self.hashbits) - 1)
          tot = 0
          while x:
              tot += 1
              x &= x-1
          return tot
  
      def __hash__(self):
          return self.hash
  
      def __eq__(self, other):
          return self.hash == other.hash
  
subject: Remove references to long