Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / lib / lcm.c
diff --git a/kernel/lib/lcm.c b/kernel/lib/lcm.c
new file mode 100644 (file)
index 0000000..03d7fcb
--- /dev/null
@@ -0,0 +1,25 @@
+#include <linux/compiler.h>
+#include <linux/gcd.h>
+#include <linux/export.h>
+#include <linux/lcm.h>
+
+/* Lowest common multiple */
+unsigned long lcm(unsigned long a, unsigned long b)
+{
+       if (a && b)
+               return (a / gcd(a, b)) * b;
+       else
+               return 0;
+}
+EXPORT_SYMBOL_GPL(lcm);
+
+unsigned long lcm_not_zero(unsigned long a, unsigned long b)
+{
+       unsigned long l = lcm(a, b);
+
+       if (l)
+               return l;
+
+       return (b ? : a);
+}
+EXPORT_SYMBOL_GPL(lcm_not_zero);