blob: 92b601e8d01dc8673a07124f27f50629f014dff0 [file] [log] [blame]
Yidi Lin909c3172023-10-31 14:57:04 +08001/* SPDX-License-Identifier: BSD-3-Clause */
2
3#include <commonlib/bsd/gcd.h>
4#include <commonlib/bsd/helpers.h>
5#include <stdint.h>
6
7uint32_t gcd32(uint32_t a, uint32_t b)
8{
9 uint32_t c;
10
11 if (a == 0 || b == 0)
12 return MAX(a, b);
13
14 c = a % b;
15
16 while (c > 0) {
17 a = b;
18 b = c;
19 c = a % b;
20 }
21
22 return b;
23}