'Returns a shifted copy of a, b times.
The coefficient of the result is a shifted copy of the digits
in the coefficient of the first operand.  The number of places
to shift is taken from the absolute value of the second operand,
with the shift being to the left if the second operand is
positive or to the right otherwise.  Digits shifted into the
coefficient are zeros.
>>> ExtendedContext.shift(Decimal(\'34\'), Decimal(\'8\'))
Decimal(\'400000000\')
>>> ExtendedContext.shift(Decimal(\'12\'), Decimal(\'9\'))
Decimal(\'0\')
>>> ExtendedContext.shift(Decimal(\'123456789\'), Decimal(\'-2\'))
Decimal(\'1234567\')
>>> ExtendedContext.shift(Decimal(\'123456789\'), Decimal(\'0\'))
Decimal(\'123456789\')
>>> ExtendedContext.shift(Decimal(\'123456789\'), Decimal(\'+2\'))
Decimal(\'345678900\')
>>> ExtendedContext.shift(88888888, 2)
Decimal(\'888888800\')
>>> ExtendedContext.shift(Decimal(88888888), 2)
Decimal(\'888888800\')
>>> ExtendedContext.shift(88888888, Decimal(2))
Decimal(\'888888800\')'

def shift(self, a, b):

    a = _convert_other(a, raiseit=True)
    return a.shift(b, context=self)
