'``expt`` is symbolic object but not equal to 0 or 1.
Expression       Result  Notes
``oo ** nan``    ``nan``
``oo ** -p``     ``0``   ``p`` is number, ``oo``
See Also
Pow
NaN
NegativeInfinity'

def _eval_power(self, expt):

    from sympy.functions import re
    if expt.is_positive:
        return S.Infinity
    if expt.is_negative:
        return S.Zero
    if (expt is S.NaN):
        return S.NaN
    if (expt is S.ComplexInfinity):
        return S.NaN
    if ((expt.is_real is False) and expt.is_number):
        expt_real = re(expt)
        if expt_real.is_positive:
            return S.ComplexInfinity
        if expt_real.is_negative:
            return S.Zero
        if expt_real.is_zero:
            return S.NaN
        return (self ** expt.evalf())
