Commit 404a3b4c authored by Jonathan Santos's avatar Jonathan Santos Committed by Jonathan Cameron
Browse files

units: add conversion macros for percentage related units



Add macros to convert between ratio and percentage related units,
including percent (1/100), permille (1/1,000), permyriad (1/10,000,
also equivalent to one Basis point) and per cent mille (1/100,000).
Those are  Used for precise fractional calculations in engineering,
finance, and measurement applications.

Signed-off-by: default avatarJonathan Santos <Jonathan.Santos@analog.com>
Reviewed-by: default avatarAndy Shevchenko <andriy.shevchenko@intel.com>
Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
parent fa087f5b
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
@@ -21,6 +21,25 @@
#define PICO	1000000000000ULL
#define FEMTO	1000000000000000ULL

/*
 * Percentage and related scaling units
 *
 * These macros define scaling factors used to convert between ratio and
 * percentage-based representations with different decimal resolutions.
 * They are used for precise fractional calculations in engineering, finance,
 * and measurement applications.
 *
 * Examples:
 *   1%     = 0.01    = 1 / PERCENT
 *   0.1%   = 0.001   = 1 / PERMILLE
 *   0.01%  = 0.0001  = 1 / PERMYRIAD (1 basis point)
 *   0.001% = 0.00001 = 1 / PERCENTMILLE
 */
#define PERCENT		100
#define PERMILLE	1000
#define PERMYRIAD	10000
#define PERCENTMILLE	100000

#define NANOHZ_PER_HZ		1000000000UL
#define MICROHZ_PER_HZ		1000000UL
#define MILLIHZ_PER_HZ		1000UL