def _execute(self, dp1, dp2): from mcdp_dp.dp_series_simplification import unwrap_as_series_start_last dp2_start, dp2_last = unwrap_as_series_start_last(dp2) a = dp2_last.coords R = Parallel(dp1, dp2_start).get_res_space() coords0 = compose_indices(R, 1, a, list) coords = [0, coords0] m = Mux(R, coords) x = make_parallel(dp1, dp2_start) from .dp_series_simplification import make_series return make_series(x, m)
def applies(self, _, dp2): from mcdp_dp.dp_series_simplification import unwrap_as_series_start_last _, dp2_last = unwrap_as_series_start_last(dp2) return isinstance(dp2_last, Mux)
def applies(self, dp1, _): from mcdp_dp.dp_series_simplification import unwrap_as_series_start_last _, dp1_last = unwrap_as_series_start_last(dp1) return isinstance(dp1_last, Mux)