()
| 1118 | |
| 1119 | |
| 1120 | def test_broadcast_shapes(): |
| 1121 | assert () == broadcast_shapes() |
| 1122 | assert (2, 5) == broadcast_shapes((2, 5)) |
| 1123 | assert (0, 5) == broadcast_shapes((0, 1), (1, 5)) |
| 1124 | assert np.allclose( |
| 1125 | (2, np.nan), broadcast_shapes((1, np.nan), (2, 1)), equal_nan=True |
| 1126 | ) |
| 1127 | assert np.allclose( |
| 1128 | (2, np.nan), broadcast_shapes((2, 1), (1, np.nan)), equal_nan=True |
| 1129 | ) |
| 1130 | assert (3, 4, 5) == broadcast_shapes((3, 4, 5), (4, 1), ()) |
| 1131 | assert (3, 4) == broadcast_shapes((3, 1), (1, 4), (4,)) |
| 1132 | assert (5, 6, 7, 3, 4) == broadcast_shapes((3, 1), (), (5, 6, 7, 1, 4)) |
| 1133 | |
| 1134 | assert all( |
| 1135 | isinstance(i, int) for i in itertools.chain(*broadcast_shapes([(1, 2), (3, 1)])) |
| 1136 | ) |
| 1137 | |
| 1138 | pytest.raises(ValueError, lambda: broadcast_shapes((3,), (3, 4))) |
| 1139 | pytest.raises(ValueError, lambda: broadcast_shapes((2, 3), (2, 3, 1))) |
| 1140 | pytest.raises(ValueError, lambda: broadcast_shapes((2, 3), (1, np.nan))) |
| 1141 | |
| 1142 | |
| 1143 | def test_elemwise_on_scalars(): |
nothing calls this directly
no test coverage detected