1
0
mirror of https://github.com/torvalds/linux.git synced 2024-12-17 08:31:39 +00:00
linux/lib/gcd.c

22 lines
313 B
C
Raw Normal View History

#include <linux/kernel.h>
#include <linux/gcd.h>
#include <linux/export.h>
/* Greatest common divisor */
unsigned long gcd(unsigned long a, unsigned long b)
{
unsigned long r;
if (a < b)
swap(a, b);
if (!b)
return a;
while ((r = a % b) != 0) {
a = b;
b = r;
}
return b;
}
EXPORT_SYMBOL_GPL(gcd);