Messages in this thread | | | Subject | Re: [PATCH v2 1/3] units: Add SI metric prefix definitions | From | Joe Perches <> | Date | Mon, 07 Jun 2021 12:09:58 -0700 |
| |
On Mon, 2021-06-07 at 18:23 +0300, Andy Shevchenko wrote: > Sometimes it's useful to have well-defined SI metric prefix to be used > to self-describe the formulas or equations. > > List most popular ones in the units.h.
trivia:
> diff --git a/include/linux/units.h b/include/linux/units.h [] > @@ -4,6 +4,22 @@ > > > #include <linux/math.h> > > +/* Metric prefixes in accordance with Système international (d'unités) */ > +#define PETA 1000000000000000LL > +#define TERA 1000000000000LL > +#define GIGA 1000000000L > +#define MEGA 1000000L > +#define KILO 1000L
It's perhaps more legible to avoid the long sequences of zeros by using preprocessor mechanisms.
#define KILO (1000UL) #define MEGA (KILO * 1000) #define GIGA (MEGA * 1000) #define TERA (GIGA * 1000ULL) #define PETA (TERA * 1000)
or maybe:
#define KILO (1000UL) #define MEGA (1000UL * 1000UL) #define GIGA (1000UL * 1000UL * 1000UL) #define TERA (1000ULL * 1000ULL * 1000ULL * 1000ULL) #define PETA (1000ULL * 1000ULL * 1000ULL * 1000ULL * 1000ULL)
etc...
> +#define HECTO 100L > +#define DECA 10L
Should it be DECA or DEKA or both?
https://www.nist.gov/pml/weights-and-measures/metric-si-prefixes deka Example: dekameter da 10**1 Ten
> +#define DECI 10L > +#define CENTI 100L > +#define MILLI 1000L > +#define MICRO 1000000L > +#define NANO 1000000000L > +#define PICO 1000000000000LL > +#define FEMTO 1000000000000000LL
IMO: Might as well include all the prefixes up to 10**24
EXA ZETTA YOTTA, ATTA ZEPTO YOCTO
And how do people avoid using MILLI for KILO, MEGA for MICRO, etc... The compiler won't care but usage could look odd.
| |