'min compares two values numerically and returns the minimum.
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 minimum (closer to negative
infinity) of the two operands is chosen as the result.
>>> ExtendedContext.min(Decimal(\'3\'), Decimal(\'2\'))
Decimal("2")
>>> ExtendedContext.min(Decimal(\'-10\'), Decimal(\'3\'))
Decimal("-10")
>>> ExtendedContext.min(Decimal(\'1.0\'), Decimal(\'1\'))
Decimal("1.0")
>>> ExtendedContext.min(Decimal(\'7\'), Decimal(\'NaN\'))
Decimal("7")'

def min(self, a, b):

    return a.min(b, context=self)
