class_docstr: Represents an interval containing floating points as start and
  end of the interval
  The is_valid variable tracks whether the interval obtained as the
  result of the function is in the domain and is continuous.
  - True: Represents the interval result of a function is continuous and
          in the domain of the function.
  - False: The interval argument of the function was not in the domain of
           the function, hence the is_valid of the result interval is False
  - None: The function was not continuous over the interval or
          the function's argument interval is partly in the domain of the
          function
  
  A comparison between an interval and a real number, or a
  comparison between two intervals may return ``intervalMembership``
  of two 3-valued logic values.
code: def __pow__(self, other):
      # Implements only power to an integer.
      from .lib_interval import exp, log
  
      if not self.is_valid:
          return self
      if isinstance(other, interval):
          return exp(other * log(self))
      elif isinstance(other, (float, int)):
          if other < 0:
              return 1 / self.__pow__(abs(other))
          else:
              if int_valued(other):
                  return _pow_int(self, other)
              else:
                  return _pow_float(self, other)
      else:
          return NotImplemented
  
imports: from sympy.core.numbers import int_valued
  from sympy.core.logic import fuzzy_and
  from sympy.simplify.simplify import nsimplify
  from .interval_membership import intervalMembership
label_desc: Use image node_id 20 for calling the interval obj's underlying member method code with example usage: obj.__pow__(other) and returns: self, exp, NotImplemented, unknown, _pow_int, _pow_float