(cls, b, a, sign)
return self
Cancel b + sign*s and a + sign*s
            This is for meijer G functions.
Cancel b + sign*s and a + sign*s
            This is for meijer G functions.
Cancel b + sign * s and a + sign * s This is for meijer G functions .
def _meijer(cls, b, a, sign):
        """ Cancel b + sign*s and a + sign*s
            This is for meijer G functions. """
        b = sympify(b)
        a = sympify(a)
        n = b - a
        if n.is_negative or not n.is_Integer:
            return None

        self = Operator.__new__(cls)

        p = S(1)
        for k in xrange(n):
            p *= (sign*_x + a + k)

        self._poly = Poly(p, _x)
        if sign == -1:
            self._a = b
            self._b = a
        else:
            self._b = Add(1, a - 1, evaluate=False)
            self._a = Add(1, b - 1, evaluate=False)

        return self
def _meijer ( cls , b , a , sign ) : b = sympify ( b ) a = sympify ( a ) n = b - a if n . is_negative or not n . is_Integer : return None self = Operator . __new__ ( cls ) p = S ( 1 ) for k in xrange ( n ) : p *= ( sign * _x + a + k ) self . _poly = Poly ( p , _x ) if sign == - 1 : self . _a = b self . _b = a else : self . _b = Add ( 1 , a - 1 , evaluate = False ) self . _a = Add ( 1 , b - 1 , evaluate = False ) return self