12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- From dd58f5e9108bc596c93071705d2b53233d13ade6 Mon Sep 17 00:00:00 2001
- From: Angel Pons <th3fanbus@gmail.com>
- Date: Sat, 7 May 2022 20:36:10 +0200
- Subject: [PATCH 01/26] commonlib/clamp.h: Add more clamping functions
- Add more clamping functions that work with different types.
- Change-Id: I14cf335d5a54f769f8fd9184450957e876affd6b
- Signed-off-by: Angel Pons <th3fanbus@gmail.com>
- ---
- src/commonlib/include/commonlib/clamp.h | 26 +++++++++++++++++--------
- 1 file changed, 18 insertions(+), 8 deletions(-)
- diff --git a/src/commonlib/include/commonlib/clamp.h b/src/commonlib/include/commonlib/clamp.h
- index e01a107ed4..526185195c 100644
- --- a/src/commonlib/include/commonlib/clamp.h
- +++ b/src/commonlib/include/commonlib/clamp.h
- @@ -8,15 +8,25 @@
- /*
- * Clamp a value, so that it is between a lower and an upper bound.
- */
- -static inline u32 clamp_u32(const u32 min, const u32 val, const u32 max)
- -{
- - if (val > max)
- - return max;
- +#define __MAKE_CLAMP_FUNC(type) \
- + static inline type clamp_##type(const type min, const type val, const type max) \
- + { \
- + if (val > max) \
- + return max; \
- + if (val < min) \
- + return min; \
- + return val; \
- + } \
-
- - if (val < min)
- - return min;
- +__MAKE_CLAMP_FUNC(s8) /* clamp_s8 */
- +__MAKE_CLAMP_FUNC(u8) /* clamp_u8 */
- +__MAKE_CLAMP_FUNC(s16) /* clamp_s16 */
- +__MAKE_CLAMP_FUNC(u16) /* clamp_u16 */
- +__MAKE_CLAMP_FUNC(s32) /* clamp_s32 */
- +__MAKE_CLAMP_FUNC(u32) /* clamp_u32 */
- +__MAKE_CLAMP_FUNC(s64) /* clamp_s64 */
- +__MAKE_CLAMP_FUNC(u64) /* clamp_u64 */
-
- - return val;
- -}
- +#undef __MAKE_CLAMP_FUNC
-
- #endif /* COMMONLIB_CLAMP_H */
- --
- 2.39.2
|