Re: [PATCH v5 3/5] units: add PERCENT and BASIS_POINTS macros
From: Andy Shevchenko <hidden>
Date: 2026-01-13 06:50:31
Also in:
linux-iio, lkml
On Tue, Jan 13, 2026 at 5:32 AM Jonathan Santos [off-list ref] wrote:
On 12/27, Andy Shevchenko wrote:quoted
On Sat, Dec 27, 2025 at 5:55 PM Jonathan Cameron [off-list ref] wrote:quoted
On Wed, 17 Dec 2025 02:52:45 -0300 Jonathan Santos [off-list ref] wrote:
...
quoted
quoted
quoted
+/* + * Percentage and basis point units + * + * Basis points are 1/100th of a percent (1/100), commonly used in finance, + * engineering or other applications that require precise percentage + * calculations. + * + * Examples: + * 100% = 10000 basis points = BASIS_POINTS + * 1% = 100 basis points = PERCENTI don't understand the final equality in these examples. The top line is as it says 10000 basis points but you have it equal to BASIS_POINTS?Also there are pp (percentage points) and others like per mille https://en.wikipedia.org/wiki/Percentage_point (see "Related units" section).Hi, Andy. Thanks for the suggestions,but I am still questioning how the percentage points would be implemented, since it is defined as the difference between two percentages and we cannot use floating points.
My comment was more about the prefix (PER) and the naming (not BASIS_POINTS, but something from PER*), and for the comprehension I would rather see all three defined (pp is _not_ part of these as you mentioned its semantics is different).
Also, should we keep this approach of unit conversion? Example: value / PERCENT -> converts a value from percent to ratio value * PERCENT -> converts a value from ratio to percent Just to make sure it is consistent with the rest.
Sounds good at the first glance.
quoted
quoted
quoted
+ */ +#define PERCENT 100UL +#define BASIS_POINTS 10000UL
-- With Best Regards, Andy Shevchenko