def Ey(self, f, var, z): f, z = np.broadcast_arrays(f, z) Ey = np.zeros_like(f) nz = ~ z Ey[z] = self.gaus.Ey(f[z], var) Ey[nz] = self.unif.Ey(f[nz]) return Ey