summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorRasmus Villemoes <linux@rasmusvillemoes.dk>2014-12-11 00:51:29 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2014-12-11 02:41:11 +0100
commit69c953c85c6cca85565ab32e4264b2efb6272e0e (patch)
tree9a28849166ee59d755eb288652c036e469410b08 /lib
parentlib/lcm.c: ensure correct result whenever it fits (diff)
downloadlinux-69c953c85c6cca85565ab32e4264b2efb6272e0e.tar.xz
linux-69c953c85c6cca85565ab32e4264b2efb6272e0e.zip
lib/lcm.c: lcm(n,0)=lcm(0,n) is 0, not n
Return the mathematically correct answer when an argument is 0. Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk> Cc: Martin K. Petersen <martin.petersen@oracle.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'lib')
-rw-r--r--lib/lcm.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/lib/lcm.c b/lib/lcm.c
index 01b3aa922dda..51cc6b13cd52 100644
--- a/lib/lcm.c
+++ b/lib/lcm.c
@@ -8,9 +8,7 @@ unsigned long lcm(unsigned long a, unsigned long b)
{
if (a && b)
return (a / gcd(a, b)) * b;
- else if (b)
- return b;
-
- return a;
+ else
+ return 0;
}
EXPORT_SYMBOL_GPL(lcm);