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)
Example #2
0
    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)
Example #4
0
    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)