8000 average: adding test to find bug · xtensor-stack/xtensor@71982d2 · GitHub
[go: up one dir, main page]

Skip to content

Commit 71982d2

Browse files
committed
average: adding test to find bug
1 parent 14dd778 commit 71982d2

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

test/test_xmath.cpp

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -889,6 +889,27 @@ namespace xt
889889
EXPECT_EQ(xt::average(v, w, {0, 1})(), m);
890890
}
891891

892+
TEST(xmath, average_random)
893+
{
894+
xt::xtensor<double,4> v = xt::random::random<double>({4, 5, 6, 7});
895+
xt::xtensor<double,4> w = xt::random::random<double>({4, 5, 6, 7}) + 1.0;
896+
xt::xtensor<double,2> r = xt::zeros<double>({6, 7});
897+
xt::xtensor<double,2> n = xt::zeros<double>({6, 7});
898+
899+
for (size_t i = 0; i < v.shape(0); ++i) {
900+
for (size_t j = 0; j < v.shape(1); ++j) {
901+
for (size_t k = 0; k < v.shape(2); ++k) {
902+
for (size_t l = 0; l < v.shape(3); ++l) {
903+
r(k, l) += v(i, j, k, l) * w(i, j, k, l);
904+
n(k, l) += w(i, j, k, l);
905+
}
906+
}
907+
}
908+
}
909+
910+
EXPECT_TRUE(xt::all(xt::equal(xt::average(v, w, {0, 1}), xt::eval(r / n))));
911+
}
912+
892913
/************************
893914
* Linear interpolation *
894915
************************/

0 commit comments

Comments
 (0)
0