summaryrefslogtreecommitdiffstats
path: root/eval/src/tests/instruction/generic_merge/generic_merge_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'eval/src/tests/instruction/generic_merge/generic_merge_test.cpp')
-rw-r--r--eval/src/tests/instruction/generic_merge/generic_merge_test.cpp16
1 files changed, 10 insertions, 6 deletions
diff --git a/eval/src/tests/instruction/generic_merge/generic_merge_test.cpp b/eval/src/tests/instruction/generic_merge/generic_merge_test.cpp
index f2ddd9b74d8..d5f7bc071f6 100644
--- a/eval/src/tests/instruction/generic_merge/generic_merge_test.cpp
+++ b/eval/src/tests/instruction/generic_merge/generic_merge_test.cpp
@@ -18,11 +18,11 @@ using namespace vespalib::eval::test;
using vespalib::make_string_short::fmt;
-GenSpec G() { return GenSpec().cells_float(); }
+GenSpec G() { return GenSpec(); }
GenSpec::seq_t N_16ths = [] (size_t i) noexcept { return (i + 1.0) / 16.0; };
-std::vector<GenSpec> merge_layouts = {
+const std::vector<GenSpec> merge_layouts = {
G(), G(),
G().idx("x", 5), G().idx("x", 5),
G().idx("x", 3).idx("y", 5), G().idx("x", 3).idx("y", 5),
@@ -48,10 +48,14 @@ TensorSpec perform_generic_merge(const TensorSpec &a, const TensorSpec &b, join_
void test_generic_merge_with(const ValueBuilderFactory &factory) {
ASSERT_TRUE((merge_layouts.size() % 2) == 0);
for (size_t i = 0; i < merge_layouts.size(); i += 2) {
- const auto &l = merge_layouts[i];
- const auto &r = merge_layouts[i+1].seq(N_16ths);
- for (TensorSpec lhs : { l.gen(), l.cpy().cells_double().gen() }) {
- for (TensorSpec rhs : { r.gen(), r.cpy().cells_double().gen() }) {
+ const auto l = merge_layouts[i];
+ const auto r = merge_layouts[i+1].cpy().seq(N_16ths);
+ for (TensorSpec lhs : { l.cpy().cells_float().gen(),
+ l.cpy().cells_double().gen() })
+ {
+ for (TensorSpec rhs : { r.cpy().cells_float().gen(),
+ r.cpy().cells_double().gen() })
+ {
SCOPED_TRACE(fmt("\n===\nLHS: %s\nRHS: %s\n===\n", lhs.to_string().c_str(), rhs.to_string().c_str()));
for (auto fun: {operation::Add::f, operation::Mul::f, operation::Sub::f, operation::Max::f}) {
auto expect = ReferenceOperations::merge(lhs, rhs, fun);