summaryrefslogtreecommitdiff
path: root/standalone/common.h
diff options
context:
space:
mode:
Diffstat (limited to 'standalone/common.h')
-rw-r--r--standalone/common.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/standalone/common.h b/standalone/common.h
index 3581c946d16..ae45683f1ee 100644
--- a/standalone/common.h
+++ b/standalone/common.h
@@ -112,6 +112,21 @@ template <typename T> inline void shuffle(T *A, u32 N, u32 *RandState) {
*RandState = State;
}
+inline void computePercentage(uptr Numerator, uptr Denominator, uptr *Integral,
+ uptr *Fractional) {
+ constexpr uptr Digits = 100;
+ if (Denominator == 0) {
+ *Integral = 100;
+ *Fractional = 0;
+ return;
+ }
+
+ *Integral = Numerator * Digits / Denominator;
+ *Fractional =
+ (((Numerator * Digits) % Denominator) * Digits + Denominator / 2) /
+ Denominator;
+}
+
// Platform specific functions.
extern uptr PageSizeCached;