#include "bintree.h"
#define SI_k 1024ll
-#define SI_M (1024 * 1024ll)
-#define SI_G (1025 * 1024 * 1024ll)
+#define SI_M (SI_k * SI_k)
+#define SI_G (SI_M * SI_k)
+#define PRETTY_THRESH 100
#define NICE_DIV(a) \
- ((a) < SI_k ? (a) : \
- (a < SI_M ? ((a) / SI_k) : \
- (a < SI_G ? ((a) / SI_M) : ((a) / SI_G))))
+ ((a) < SI_k * PRETTY_THRESH ? (a) : \
+ (a < SI_M * PRETTY_THRESH ? ((a) / SI_k) : \
+ (a < SI_G * PRETTY_THRESH ? ((a) / SI_M) : \
+ ((a) / SI_G))))
-#define NICE_UNIT(a) \
- ((a) < SI_k ? "" : \
- ((a) < SI_M ? "k" : \
- ((a) < SI_G ? "M" : "G")))
+#define NICE_UNIT(a) \
+ ((a) < (SI_k * PRETTY_THRESH) ? "" : \
+ ((a) < (SI_G * PRETTY_THRESH) ? "k" : \
+ ((a) < (SI_G * PRETTY_THRESH) ? "M" : "G")))
#define PAGE_TO_NICE(a) NICE_DIV((long long)a * PAGE_SIZE)
#define PAGE_TO_NICE_UNIT(a) NICE_UNIT((long long)a * PAGE_SIZE)