5xxx functions from nbdkit.
[libguestfs-talks.git] / 2020-frama-c / 5000-power-of-2.html
diff --git a/2020-frama-c/5000-power-of-2.html b/2020-frama-c/5000-power-of-2.html
new file mode 100644 (file)
index 0000000..ccc3759
--- /dev/null
@@ -0,0 +1,18 @@
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<link rel="stylesheet" href="style.css" type="text/css"/>
+<script src="code.js" type="text/javascript"></script>
+
+<h1>nbdkit is_power_of_2</h1>
+
+<pre class="code">
+  /* Returns true if v is a power of 2.
+   *
+   * Uses the algorithm described at
+   * http://graphics.stanford.edu/~seander/bithacks.html#DetermineIfPowerOf2
+   */
+  static inline bool
+  is_power_of_2 (unsigned long v)
+  {
+    return v && ((v & (v - 1)) == 0);
+  }
+</pre>