'Returns the absolute value of self.
If the second argument is 0, do not round.'

def __abs__(self, round=1, context=None):

    if self._is_special:
        ans = self._check_nans(context=context)
        if ans:
            return ans
    if (not round):
        if (context is None):
            context = getcontext()
        context = context._shallow_copy()
        context._set_rounding_decision(NEVER_ROUND)
    if self._sign:
        ans = self.__neg__(context=context)
    else:
        ans = self.__pos__(context=context)
    return ans
