code: def _reverse(self):
          
          o = self.copy()
          # Clear ok reversed flag
          o._reversed = not o._reversed
  
          if o.bits == 8:
              # No need for reversing
              return o.copy()
  
          if o.is_top:
              # A TOP is still a TOP after reversing
              si = o.copy()
              return si
  
          else:
              if not o.is_integer:
                  # We really don't want to do that... but well, sometimes it just happens...
                  logger.warning('Reversing a real strided-interval %s is bad', self)
  
              # Reversing an integer is easy
              rounded_bits = ((o.bits + 7) // 8) * 8
              list_bytes = [ ]
              si = None
  
              for i in xrange(0, rounded_bits, 8):
                  b = o._unrev_extract(min(i + 7, o.bits - 1), i)
                  list_bytes.append(b)
  
              for b in list_bytes:
                  si = b if si is None else si.concat(b)
              si.uninitialized = self.uninitialized
              si._reversed = o._reversed
              return si
docs: This method reverses the StridedInterval object for real. Do expect loss of precision for most cases!
  
          :return: A new reversed StridedInterval instance