@functools.wraps(func)
def wrapper(left, right):
if isinstance(left, numbers.Rational):
@functools.wraps(func)
def wrapper(left, right):
if isinstance(left, numbers.Rational):
elif not isinstance(left, Expression):
raise TypeError('left must be a a rational number '
'or a linear expression')
if isinstance(right, numbers.Rational):
elif not isinstance(left, Expression):
raise TypeError('left must be a a rational number '
'or a linear expression')
if isinstance(right, numbers.Rational):
elif not isinstance(right, Expression):
raise TypeError('right must be a a rational number '
'or a linear expression')
elif not isinstance(right, Expression):
raise TypeError('right must be a a rational number '
'or a linear expression')