INNER CODE UNIT · Python
_handle_arithmetic_operator
mongomock/mongomock · mongomock/aggregate.py:351
def _handle_arithmetic_operator(self, operator, values):
if operator in unary_arithmetic_operators:
try:
number = self.parse(values)
except KeyError:
return None
if number is None:
return None
if not isinstance(number, numbers.Number):
raise OperationFailure(
f"Parameter to {operator} must evaluate to a number, got '{type(number)}'"
)
if operator == '$abs':
return abs(number)
if operator == '$ceil':
return math.ceil(number)
if operator == '$exp':
return math.exp(number)