summaryrefslogtreecommitdiffstats
path: root/src/pulsecore/core-util.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/pulsecore/core-util.h')
-rw-r--r--src/pulsecore/core-util.h19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/pulsecore/core-util.h b/src/pulsecore/core-util.h
index 29dc2fb1..ea571e70 100644
--- a/src/pulsecore/core-util.h
+++ b/src/pulsecore/core-util.h
@@ -97,7 +97,22 @@ int pa_snprintf(char *str, size_t size, const char *format, ...);
char *pa_truncate_utf8(char *c, size_t l);
-int pa_is_power_of_two(unsigned n);
-unsigned pa_make_power_of_two(unsigned n);
+static inline int pa_is_power_of_two(unsigned n) {
+ return !(n & (n - 1));
+}
+
+static inline unsigned pa_make_power_of_two(unsigned n) {
+ unsigned j = n;
+
+ if (pa_is_power_of_two(n))
+ return n;
+
+ while (j) {
+ j = j >> 1;
+ n = n | j;
+ }
+
+ return n + 1;
+}
#endif