+static inline double cnt_to_dbl(const counter_t *a)
+{
+ int i;
+ double res = 0.0, scale = 1.0, tmp;
+
+ i = (1 << (sizeof(a->cnt[0]) * 4));
+ tmp = ((double)i) * ((double)i);
+
+ for (i = 0; i < STAT_CNT_NUM; ++i) {
+ res += scale * (double)a->cnt[i];
+
+ scale *= tmp;
+ }
+ return res;
+}
+
+/**
+ * convert a counter into an unsigned
+ */
+static inline unsigned cnt_to_uint(const counter_t *a)