summaryrefslogtreecommitdiffhomepage
path: root/pkg/bits/bits_template.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/bits/bits_template.go')
-rw-r--r--pkg/bits/bits_template.go8
1 files changed, 8 insertions, 0 deletions
diff --git a/pkg/bits/bits_template.go b/pkg/bits/bits_template.go
index 93a435b80..998645388 100644
--- a/pkg/bits/bits_template.go
+++ b/pkg/bits/bits_template.go
@@ -42,3 +42,11 @@ func Mask(is ...int) T {
func MaskOf(i int) T {
return T(1) << T(i)
}
+
+// IsPowerOfTwo returns true if v is power of 2.
+func IsPowerOfTwo(v T) bool {
+ if v == 0 {
+ return false
+ }
+ return v&(v-1) == 0
+}