Concurrently calling this function is safe, causing no data races.
Exceptions (C++)
No-throw guarantee: this function throws no exceptions.
If the result cannot be represented by the returned type (such as abs(INT_MIN) in an implementation with two's complement signed values), it causes undefined behavior.