Root/lib/gcd.c

1#include <linux/kernel.h>
2#include <linux/gcd.h>
3#include <linux/export.h>
4
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
13    if (!b)
14        return a;
15    while ((r = a % b) != 0) {
16        a = b;
17        b = r;
18    }
19    return b;
20}
21EXPORT_SYMBOL_GPL(gcd);
22

Archive Download this file



interactive