diff options
| author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2025-11-06 16:20:51 +0100 |
|---|---|---|
| committer | Andrew Morton <akpm@linux-foundation.org> | 2025-11-20 14:03:42 -0800 |
| commit | f3fb126fdc9e148da38a6e25d7fc609774a99fc3 (patch) | |
| tree | 9d4bb4b6b4c7cd1e26dc15e55f674f4cb3e7e525 /include/linux | |
| parent | 581ee79a254759ea8288057f762389820b39adcc (diff) | |
math.h: amend abs() kernel-doc and add a note about signed type limits
- amend the kernel-doc so the description is decoupled from the
parameter descriptions.
- add a note to explain behaviour for the signed types when supplied
value is the minimum (e.g., INT_MIN for int type).
Link: https://lkml.kernel.org/r/20251106152051.2361551-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/math.h | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/include/linux/math.h b/include/linux/math.h index 0198c92cbe3e..6dc1d1d32fbc 100644 --- a/include/linux/math.h +++ b/include/linux/math.h @@ -148,11 +148,16 @@ __STRUCT_FRACT(u32) /** * abs - return absolute value of an argument - * @x: the value. If it is unsigned type, it is converted to signed type first. - * char is treated as if it was signed (regardless of whether it really is) - * but the macro's return type is preserved as char. + * @x: the value. * - * Return: an absolute value of x. + * If it is unsigned type, @x is converted to signed type first. + * char is treated as if it was signed (regardless of whether it really is) + * but the macro's return type is preserved as char. + * + * NOTE, for signed type if @x is the minimum, the returned result is undefined + * as there is not enough bits to represent it as a positive number. + * + * Return: an absolute value of @x. */ #define abs(x) __abs_choose_expr(x, long long, \ __abs_choose_expr(x, long, \ |
