'max compares two values numerically and returns the maximum.
If either operand is a NaN then the general rules apply.
Otherwise, the operands are compared as as though by the compare
operation. If they are numerically equal then the left-hand operand
is chosen as the result. Otherwise the maximum (closer to positive
infinity) of the two operands is chosen as the result.
>>> ExtendedContext.max(Decimal(\'3\'), Decimal(\'2\'))
Decimal("3")
>>> ExtendedContext.max(Decimal(\'-10\'), Decimal(\'3\'))
Decimal("3")
>>> ExtendedContext.max(Decimal(\'1.0\'), Decimal(\'1\'))
Decimal("1")
>>> ExtendedContext.max(Decimal(\'7\'), Decimal(\'NaN\'))
Decimal("7")'

def max(self, a, b):

    return a.max(b, context=self)
