linux/lib/lcm.c
<<
>>
Prefs
   1#include <linux/compiler.h>
   2#include <linux/gcd.h>
   3#include <linux/export.h>
   4#include <linux/lcm.h>
   5
   6/* Lowest common multiple */
   7unsigned long lcm(unsigned long a, unsigned long b)
   8{
   9        if (a && b)
  10                return (a / gcd(a, b)) * b;
  11        else
  12                return 0;
  13}
  14EXPORT_SYMBOL_GPL(lcm);
  15
  16unsigned long lcm_not_zero(unsigned long a, unsigned long b)
  17{
  18        unsigned long l = lcm(a, b);
  19
  20        if (l)
  21                return l;
  22
  23        return (b ? : a);
  24}
  25EXPORT_SYMBOL_GPL(lcm_not_zero);
  26