Re: [PATCH v2 2/6] units: Add 32- and 64-bit signed values of π
From: Jonathan Cameron
Date: Sun Nov 09 2025 - 12:00:50 EST
On Sat, 8 Nov 2025 21:02:54 +0200
Andy Shevchenko <andy.shevchenko@xxxxxxxxx> wrote:
> пʼятниця, 7 листопада 2025 р. David Lechner <dlechner@xxxxxxxxxxxx> пише:
>
> > On 11/7/25 2:03 PM, Andy Shevchenko wrote:
> > > There are a few drivers that want to have these values, and
> > > one more known to come soon. Let's define the values for them.
> > >
>
>
>
>
>
> > > @@ -21,6 +21,12 @@
> > > #define PICO 1000000000000ULL
> > > #define FEMTO 1000000000000000ULL
> > >
> > > +/* Value of π * 10⁸ (fits s32 or signed int) */
> > > +#define PI 314159265
> >
> > It isn't clear to me at all in the other patches that e.g.
> > DIV_ROUND_UP(PI, 1000) would be π ✕ 10⁴ (rounded to nearest
> > integer, of course).
> >
> > Calling these PI_E8 and PI_E18 or PI_x10_8 and PI_x10_18
> > would help to clear that up.
>
>
>
> This will be an awful and ugly name(s). I fully disagree on such a
> proposal. The power is chosen to fit the type with maximum precision, no
> need to explain this in the name.
With no indicate of the multiplier we have to check it every time wwe
use it which isn't ideal either.
So I agree with David that we have to indicate this somewhere. Maybe hold the
multiplier in a separate define
#define PI_MUL
#define PI_MUL_LL
Then compute the divisions by (PI_MUL) / KILO or something along those lines?
>
> >
> > > +
> > > +/* Value of π * 10¹⁸ (fits s64 or signed long long) */
> > > +#define PI_LL 3141592653589793238LL
> > > +
> > > /* Hz based multipliers */
> > > #define NANOHZ_PER_HZ 1000000000UL
> > > #define MICROHZ_PER_HZ 1000000UL
> >
> >