def _batch_shape_tensor(self, loc=None, scale=None, low=None, high=None):
    return functools.reduce(ps.broadcast_shape, (ps.shape((self.loc if (loc is None) else loc)), ps.shape((self.scale if (scale is None) else scale)), ps.shape((self.low if (low is None) else low)), ps.shape((self.high if (high is None) else high))))
def _batch_shape_tensor(self, loc=None, scale=None, low=None, high=None):
    return functools.reduce(ps.broadcast_shape, (ps.shape((self.loc if (loc is None) else loc)), ps.shape((self.scale if (scale is None) else scale)), ps.shape((self.low if (low is None) else low)), ps.shape((self.high if (high is None) else high))))