(b, a)
return a ** float(b)
a ** b
a ** b
a ** b
def __rpow__(b, a):
        """a ** b"""
        if b._denominator == 1 and b._numerator >= 0:
            # If a is an int, keep it that way if possible.
            return a ** b._numerator

        if isinstance(a, numbers.Rational):
            return Fraction(a.numerator, a.denominator) ** b

        if b._denominator == 1:
            return a ** b._numerator

        return a ** float(b)
def __rpow__ ( b , a ) : if b . _denominator == 1 and b . _numerator >= 0 : # If a is an int, keep it that way if possible. return a ** b . _numerator if isinstance ( a , numbers . Rational ) : return Fraction ( a . numerator , a . denominator ) ** b if b . _denominator == 1 : return a ** b . _numerator return a ** float ( b )