| 674 | } |
| 675 | |
| 676 | TEST_P(Broadcast, Addition) { |
| 677 | auto params = GetParam(); |
| 678 | af::array lhs = iota(get<0>(params)); |
| 679 | af::array rhs = constant(1, get<1>(params)); |
| 680 | |
| 681 | af::array out = lhs + rhs; |
| 682 | |
| 683 | af::dim4 outdims = broadcastOut(lhs.dims(), rhs.dims()); |
| 684 | af::dim4 tilerepetions = tileRepeations(lhs.dims(), rhs.dims()); |
| 685 | af::array tiledlhs = tile(lhs, tilerepetions); |
| 686 | |
| 687 | vector<float> outvec(outdims.elements()); |
| 688 | tiledlhs.host(outvec.data()); |
| 689 | for (auto &out : outvec) { out += 1; } |
| 690 | |
| 691 | ASSERT_VEC_ARRAY_EQ(outvec, outdims, out); |
| 692 | } |
| 693 | |
| 694 | TEST_P(Broadcast, Subtraction) { |
| 695 | auto params = GetParam(); |
no test coverage detected