On Mon, Jun 07, 2021 at 05:24:44PM +0300, Andy Shevchenko wrote: > On Mon, Jun 07, 2021 at 03:33:31PM +0300, Jarkko Nikula wrote: > > On 6/3/21 7:04 PM, 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. > > ... > > > > +/* 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 > > > +#define HECTO 100L > > > +#define DECA 10L > > > +#define DECI 10L > > > +#define CENTI 100L > > > +#define MILLI 1000L > > > +#define MICRO 1000000L > > > +#define NANO 1000000000L > > > +#define PICO 1000000000000LL > > > +#define FEMTO 1000000000000000LL > > > > For me milli is always 1/1000. > > For me as well. Kernel does not operate with float point numbers. > That's why it's ordered like this. > > > Might lead to confusion with these defines if > > idea is to multiply with KILO but divide with MILLI? > > If the author of the hypothetical driver doesn't understand this, maybe > they can ask first, but I am an optimist here and I assume that whoever > writes the driver for a sensor / etc has a minimum education to see > what's needed for the certain case. Writing this, I think that I'm not so educated :-) What we have in I²C case is kHz * ns = 10^3 * 10^-9, so we need to divide by 10^-6 to normalize the numbers. Sounds like MICRO is the correct thing to use there. -- With Best Regards, Andy Shevchenko