Skip to content

Commit b6aa3c8

Browse files
authored
[SYCL] Update reduction_reducer_op_eq.cpp test to avoid dividing by zero (#10771)
divisor may be 0 in `T Diff = (Expected / *Res) - T{1};`
1 parent d778e56 commit b6aa3c8

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

sycl/test-e2e/Reduction/reduction_reducer_op_eq.cpp

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,13 @@ int test(queue &Q, T Identity) {
138138

139139
int Error = 0;
140140
if constexpr (IsFP) {
141-
T Diff = (Expected / *Res) - T{1};
141+
T Diff;
142+
Diff.x() = (std::abs(Res->x()) < 1e-6 && std::abs(Expected.x()) < 1e-6)
143+
? 0.0
144+
: (Expected.x() / Res->x()) - 1;
145+
Diff.y() = (std::abs(Res->y()) < 1e-6 && std::abs(Expected.y()) < 1e-6)
146+
? 0.0
147+
: (Expected.y() / Res->y()) - 1;
142148
Error = (std::abs(Diff.x()) > 0.5 || std::abs(Diff.y()) > 0.5) ? 1 : 0;
143149
} else {
144150
Error = (Expected.x() != Res->x() || Expected.y() != Res->y()) ? 1 : 0;

0 commit comments

Comments
 (0)