(self)
| 1453 | raise NotImplementedError(f"Unhandled node type {arg_node}") |
| 1454 | |
| 1455 | def assert_sync_contraints(self) -> None: |
| 1456 | if self.sync_args_repr: |
| 1457 | for i in range(len(self.args_repset_list)): |
| 1458 | for j in range(i + 1, len(self.args_repset_list)): |
| 1459 | ri = self.args_repset_list[i] |
| 1460 | rj = self.args_repset_list[j] |
| 1461 | if not ri.is_empty() and not rj.is_empty(): |
| 1462 | assert ri.has_compatible_packed_dim_info_set( |
| 1463 | rj |
| 1464 | ), f"Synced arg repsets {i} and {j} have incompatible packed dim info: {ri} vs {rj}" |
| 1465 | |
| 1466 | if self.sync_outs_repr: |
| 1467 | for i in range(len(self.outs_repset_list)): |
| 1468 | for j in range(i + 1, len(self.outs_repset_list)): |
| 1469 | ri = self.outs_repset_list[i] |
| 1470 | rj = self.outs_repset_list[j] |
| 1471 | if not ri.is_empty() and not rj.is_empty(): |
| 1472 | assert ri.has_compatible_packed_dim_info_set( |
| 1473 | rj |
| 1474 | ), f"Synced out repsets {i} and {j} have incompatible packed dim info: {ri} vs {rj}" |
| 1475 | |
| 1476 | if self.sync_primary_io_repr: |
| 1477 | primary_arg = self.args_repset_list[self.primary_arg_idx] |
| 1478 | primary_out = self.outs_repset_list[0] |
| 1479 | if not primary_arg.is_empty() and not primary_out.is_empty(): |
| 1480 | assert primary_arg.has_compatible_packed_dim_info_set( |
| 1481 | primary_out |
| 1482 | ), f"Primary arg and out repsets have incompatible packed dim info: {primary_arg} vs {primary_out}" |
| 1483 | |
| 1484 | def any_is_empty(self) -> bool: |
| 1485 | return ( |
no test coverage detected