'Return a number P such that G(x*exp(I*P)) == G(x).
>>> from sympy.functions.special.hyper import meijerg
>>> from sympy.abc import z
>>> from sympy import pi, S
>>> meijerg([1], [], [], [], z).get_period()
2*pi
>>> meijerg([pi], [], [], [], z).get_period()
oo
>>> meijerg([1, 2], [], [], [], z).get_period()
oo
>>> meijerg([1,1], [2], [1, S(1)/2, S(1)/3], [1], z).get_period()
12*pi'

def get_period(self):

    def compute(l):
        for (i, b) in enumerate(l):
            if (not b.is_Rational):
                return oo
            for j in range((i + 1), len(l)):
                if (not Mod((b - l[j]).simplify(), 1)):
                    return oo
        return reduce(ilcm, (x.q for x in l), 1)
    beta = compute(self.bm)
    alpha = compute(self.an)
    (p, q) = (len(self.ap), len(self.bq))
    if (p == q):
        if ((beta == oo) or (alpha == oo)):
            return oo
        return ((2 * pi) * ilcm(alpha, beta))
    elif (p < q):
        return ((2 * pi) * beta)
    else:
        return ((2 * pi) * alpha)
