Florian Fainelli | d282922 | 2009-06-17 16:28:38 -0700 | [diff] [blame^] | 1 | #include <linux/kernel.h> |
2 | #include <linux/gcd.h> | ||||
3 | #include <linux/module.h> | ||||
4 | |||||
5 | /* Greatest common divisor */ | ||||
6 | unsigned 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 | } | ||||
18 | EXPORT_SYMBOL_GPL(gcd); |