def __add__(self, expr): """ Adds `expr` to pattern. :: >>> pattern = patterntools.Pseq([1, 2, 3]) >>> expr = patterntools.Pseq([0, 10]) >>> list(pattern + expr) [1, 12] :: >>> expr = 10 >>> list(pattern + expr) [11, 12, 13] :: >>> expr = [10, [100, 1000]] >>> list(pattern + expr) [[11, [101, 1001]], [12, [102, 1002]], [13, [103, 1003]]] :: >>> pattern = patterntools.Pseq([[1, [2, 3]], [[4, 5], 6, 7]]) >>> expr = [10, [100, 1000]] >>> for x in (pattern + expr): ... x ... [11, [102, 1003]] [[14, 15], [106, 1006], 17] """ from supriya.tools import patterntools return patterntools.Pbinop(self, '+', expr)
def __sub__(self, expr): from supriya.tools import patterntools return patterntools.Pbinop(self, '-', expr)
def __rmul__(self, expr): from supriya.tools import patterntools return patterntools.Pbinop(expr, '*', self)