diff options
author | Arne Juul <arnej@yahoo-inc.com> | 2018-03-01 19:58:11 +0000 |
---|---|---|
committer | Arne Juul <arnej@yahoo-inc.com> | 2018-03-01 19:58:13 +0000 |
commit | 69a3176e35617093bbced10ec43c6f80f95255ea (patch) | |
tree | 68d58d7eae9b543d3b0d16b091e189ea78aae3ca /eval/src | |
parent | 04e32ca9c3c986d11eaac8ed9f2beccfa91c947e (diff) |
fix operand ordering
* also improve test to detect this bug
Diffstat (limited to 'eval/src')
-rw-r--r-- | eval/src/tests/tensor/dense_inplace_join_function/dense_inplace_join_function_test.cpp | 3 | ||||
-rw-r--r-- | eval/src/vespa/eval/tensor/dense/dense_inplace_join_function.cpp | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/eval/src/tests/tensor/dense_inplace_join_function/dense_inplace_join_function_test.cpp b/eval/src/tests/tensor/dense_inplace_join_function/dense_inplace_join_function_test.cpp index c59f4956675..5208426dbfe 100644 --- a/eval/src/tests/tensor/dense_inplace_join_function/dense_inplace_join_function_test.cpp +++ b/eval/src/tests/tensor/dense_inplace_join_function/dense_inplace_join_function_test.cpp @@ -26,7 +26,7 @@ EvalFixture::ParamRepo make_params() { .add("x5", spec({x(5)}, N())) .add_mutable("_d_A", spec(17.0)) .add_mutable("_d_B", spec(42.0)) - .add_mutable("_x5", spec({x(5)}, N())) + .add_mutable("_x5", spec({x(5)}, Seq({9, 8, 7, 6, 5}))) .add_mutable("_x5_A", spec({x(5)}, Seq({10, 11, 12, 13, 14}))) .add_mutable("_x5_B", spec({x(5)}, Seq({16, 18, 20, 22, 24}))) .add_mutable("_x5_C", spec({x(5)}, Seq({30, 35, 40, 45, 50}))) @@ -68,6 +68,7 @@ void verify_not_optimized(const vespalib::string &expr) { TEST("require that mutable dense concrete tensors are optimized") { TEST_DO(verify_left_optimized("_x5_A+_x5_B", 1)); + TEST_DO(verify_left_optimized("_x5y3+_x5y3", 1)); TEST_DO(verify_left_optimized("_x5_A-_x5_B", 1)); TEST_DO(verify_left_optimized("_x5-x5", 1)); TEST_DO(verify_right_optimized("x5-_x5", 1)); diff --git a/eval/src/vespa/eval/tensor/dense/dense_inplace_join_function.cpp b/eval/src/vespa/eval/tensor/dense/dense_inplace_join_function.cpp index 639246b057c..2e37406664c 100644 --- a/eval/src/vespa/eval/tensor/dense/dense_inplace_join_function.cpp +++ b/eval/src/vespa/eval/tensor/dense/dense_inplace_join_function.cpp @@ -50,7 +50,7 @@ void my_inplace_right_join_op(eval::InterpretedFunction::State &state, uint64_t ArrayRef<double> right_cells = getMutableCells(rhs); auto lhs_iter = left_cells.cbegin(); for (double &cell: right_cells) { - cell = function(cell, *lhs_iter); + cell = function(*lhs_iter, cell); ++lhs_iter; } assert(lhs_iter == left_cells.cend()); |