This adds new rounding macros to round to closest integer along with enabling KUnit tests for all math.h macros. It also updates kernel-doc to render math.h related documentation and lastly updates the imagination jpeg encoder to use the newly introduced rounding macros to find nearest value. Also to note that math.h is orphaned and so these changes need to be pulled by subsystem using them as discussed in below threads: Link: https://lore.kernel.org/all/1db64af7-3688-4bcc-a671-9440d8f02d1a@xxxxxxxxx/ https://lore.kernel.org/all/ZmHDWeuezCEgj20m@xxxxxxxxxxxxxxxxxx/ Changelog: V2: - Fix grammar in new rounding off macro descriptions - Use roundup for rounclosest to avoid overflow Previous patch series: https://lore.kernel.org/all/20240708155943.2314427-1-devarsht@xxxxxx/#t Rangediff (V2->V1): https://gist.github.com/devarsht/a3c4420869d3f66fdc88e0af6a0f0a95 Daniel Latypov (1): lib: Add basic KUnit test for lib/math Devarsh Thakkar (5): math.h: Add macros for rounding to the closest value math.h: Use kernel-doc syntax for division macros Documentation: core-api: Add math.h macros and functions lib: math_kunit: Add tests for new macros related to rounding to nearest value media: imagination: Round to closest multiple for cropping region Documentation/core-api/kernel-api.rst | 6 + .../platform/imagination/e5010-jpeg-enc.c | 8 +- include/linux/math.h | 86 ++++- lib/math/Kconfig | 14 + lib/math/Makefile | 1 + lib/math/math_kunit.c | 329 ++++++++++++++++++ 6 files changed, 434 insertions(+), 10 deletions(-) create mode 100644 lib/math/math_kunit.c -- 2.39.1