(*args)
return a
Computes positive integer greatest common divisor.

    The algorithm is based on the well known Euclid's algorithm. To
    improve speed, igcd() has its own caching mechanism implemented.

    Examples
    ========

    >>> from sympy.core.numbers import igcd
    >>> igcd(2, 4)
    2
    >>> igcd(5, 10, 15)
    5
Computes positive integer greatest common divisor.
Computes positive integer greatest common divisor .
def igcd(*args):
    """Computes positive integer greatest common divisor.

    The algorithm is based on the well known Euclid's algorithm. To
    improve speed, igcd() has its own caching mechanism implemented.

    Examples
    ========

    >>> from sympy.core.numbers import igcd
    >>> igcd(2, 4)
    2
    >>> igcd(5, 10, 15)
    5

    """
    a = args[0]
    for b in args[1:]:
        try:
            a = _gcdcache[(a, b)]
        except KeyError:
            a, b = as_int(a), as_int(b)

            if a and b:
                if b < 0:
                    b = -b

                while b:
                    a, b = b, a % b
            else:
                a = abs(a or b)

            _gcdcache[(a, b)] = a
        if a == 1 or b == 1:
            return 1
    return a
def igcd ( * args ) : a = args [ 0 ] for b in args [ 1 : ] : try : a = _gcdcache [ ( a , b ) ] except KeyError : a , b = as_int ( a ) , as_int ( b ) if a and b : if b < 0 : b = - b while b : a , b = b , a % b else : a = abs ( a or b ) _gcdcache [ ( a , b ) ] = a if a == 1 or b == 1 : return 1 return a