blob: cce4f3cd14b36f1511b7372a5c8a8106b9495437 [file] [log] [blame]
Florian Fainellid2829222009-06-17 16:28:38 -07001#include <linux/kernel.h>
2#include <linux/gcd.h>
Paul Gortmaker8bc3bcc2011-11-16 21:29:17 -05003#include <linux/export.h>
Florian Fainellid2829222009-06-17 16:28:38 -07004
5/* Greatest common divisor */
6unsigned long gcd(unsigned long a, unsigned long b)
7{
8 unsigned long r;
9
10 if (a < b)
11 swap(a, b);
12 while ((r = a % b) != 0) {
13 a = b;
14 b = r;
15 }
16 return b;
17}
18EXPORT_SYMBOL_GPL(gcd);