(left, right)
Left^right.
Left^right.
Left^right .
def pow(left, right):
    """Left^right."""
    if isinstance(left, strings.String) or isinstance(right, strings.String):
        raise error.BASICError(error.TYPE_MISMATCH)
    if left._values.double_math and (
            isinstance(left, numbers.Double) or isinstance(right, numbers.Double)
        ):
        return _call_float_function(lambda a, b: a**b, to_double(left), to_double(right))
    elif isinstance(right, numbers.Integer):
        return left.to_single().clone().ipow_int(right)
    else:
        return _call_float_function(lambda a, b: a**b, to_single(left), to_single(right))
def pow ( left , right ) : if isinstance ( left , strings . String ) or isinstance ( right , strings . String ) : raise error . BASICError ( error . TYPE_MISMATCH ) if left . _values . double_math and ( isinstance ( left , numbers . Double ) or isinstance ( right , numbers . Double ) ) : return _call_float_function ( lambda a , b : a ** b , to_double ( left ) , to_double ( right ) ) elif isinstance ( right , numbers . Integer ) : return left . to_single ( ) . clone ( ) . ipow_int ( right ) else : return _call_float_function ( lambda a , b : a ** b , to_single ( left ) , to_single ( right ) )