Message ID | 20220110181711.65054-1-andriy.shevchenko@linux.intel.com |
---|---|
State | Accepted |
Commit | e820a33748b5e22cecafddf919a7d8679949deb1 |
Headers | show |
Series | [v1,1/5] math.h: Introduce data types for fractional numbers | expand |
diff --git a/include/linux/math.h b/include/linux/math.h index 53674a327e39..439b8f0b9ebd 100644 --- a/include/linux/math.h +++ b/include/linux/math.h @@ -2,6 +2,7 @@ #ifndef _LINUX_MATH_H #define _LINUX_MATH_H +#include <linux/types.h> #include <asm/div64.h> #include <uapi/linux/kernel.h> @@ -106,6 +107,17 @@ } \ ) +#define __STRUCT_FRACT(type) \ +struct type##_fract { \ + __##type numerator; \ + __##type denominator; \ +}; +__STRUCT_FRACT(s16) +__STRUCT_FRACT(u16) +__STRUCT_FRACT(s32) +__STRUCT_FRACT(u32) +#undef __STRUCT_FRACT + /* * Multiplies an integer by a fraction, while avoiding unnecessary * overflow or loss of precision.
Introduce a macro to produce data types like struct TYPE_fract { __TYPE numerator; __TYPE denominator; }; to be used in the code wherever it's needed. In the following changes convert some users to it. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> --- May be pulled via IIO tree. include/linux/math.h | 12 ++++++++++++ 1 file changed, 12 insertions(+)