diff options
author | Arne H Juul <arnej@yahooinc.com> | 2021-09-24 15:04:59 +0000 |
---|---|---|
committer | Arne H Juul <arnej@yahooinc.com> | 2021-09-24 15:04:59 +0000 |
commit | e27b4c52acc35799036d632884d4bed4952d875a (patch) | |
tree | 2f16b2408f52a7be549d6f16d471b5b2573c8c9f /eval | |
parent | 168e1857e8dc44fa79d077452f37a891af933681 (diff) |
make compatible_types internal
Diffstat (limited to 'eval')
3 files changed, 11 insertions, 11 deletions
diff --git a/eval/src/tests/instruction/dense_hamming_distance/dense_hamming_distance_test.cpp b/eval/src/tests/instruction/dense_hamming_distance/dense_hamming_distance_test.cpp index 8b753105401..8eaa0e72ad5 100644 --- a/eval/src/tests/instruction/dense_hamming_distance/dense_hamming_distance_test.cpp +++ b/eval/src/tests/instruction/dense_hamming_distance/dense_hamming_distance_test.cpp @@ -23,7 +23,7 @@ const ValueBuilderFactory &prod_factory = FastValueBuilderFactory::get(); struct FunInfo { using LookFor = DenseHammingDistance; void verify(const LookFor &fun) const { - EXPECT_FALSE(fun.result_is_mutable()); + EXPECT_TRUE(fun.result_is_mutable()); } }; diff --git a/eval/src/vespa/eval/instruction/dense_hamming_distance.cpp b/eval/src/vespa/eval/instruction/dense_hamming_distance.cpp index 469bccbcaf0..e9a4b8ec428 100644 --- a/eval/src/vespa/eval/instruction/dense_hamming_distance.cpp +++ b/eval/src/vespa/eval/instruction/dense_hamming_distance.cpp @@ -14,6 +14,7 @@ using namespace tensor_function; namespace { + size_t binary_hamming_distance(const void *lhs, const void *rhs, size_t sz) { const uint64_t *words_a = static_cast<const uint64_t *>(lhs); const uint64_t *words_b = static_cast<const uint64_t *>(rhs); @@ -43,6 +44,14 @@ void int8_hamming_to_double_op(InterpretedFunction::State &state, uint64_t vecto state.pop_pop_push(state.stash.create<DoubleValue>(result)); } +bool compatible_types(const ValueType &lhs, const ValueType &rhs) { + return ((lhs.cell_type() == CellType::INT8) && + (rhs.cell_type() == CellType::INT8) && + lhs.is_dense() && + rhs.is_dense() && + (lhs.nontrivial_indexed_dimensions() == rhs.nontrivial_indexed_dimensions())); +} + } // namespace <unnamed> DenseHammingDistance::DenseHammingDistance(const TensorFunction &dense_child, @@ -61,14 +70,6 @@ DenseHammingDistance::compile_self(const ValueBuilderFactory &, Stash &) const return InterpretedFunction::Instruction(op, lhs_type.dense_subspace_size()); } -bool DenseHammingDistance::compatible_types(const ValueType &lhs, const ValueType &rhs) { - return ((lhs.cell_type() == CellType::INT8) && - (rhs.cell_type() == CellType::INT8) && - lhs.is_dense() && - rhs.is_dense() && - (lhs.nontrivial_indexed_dimensions() == rhs.nontrivial_indexed_dimensions())); -} - const TensorFunction & DenseHammingDistance::optimize(const TensorFunction &expr, Stash &stash) { diff --git a/eval/src/vespa/eval/instruction/dense_hamming_distance.h b/eval/src/vespa/eval/instruction/dense_hamming_distance.h index f3b8193da84..efc70d74d21 100644 --- a/eval/src/vespa/eval/instruction/dense_hamming_distance.h +++ b/eval/src/vespa/eval/instruction/dense_hamming_distance.h @@ -15,8 +15,7 @@ public: DenseHammingDistance(const TensorFunction &lhs_child, const TensorFunction &rhs_child); InterpretedFunction::Instruction compile_self(const ValueBuilderFactory &factory, Stash &stash) const override; - bool result_is_mutable() const override { return false; } - static bool compatible_types(const ValueType &lhs, const ValueType &rhs); + bool result_is_mutable() const override { return true; } static const TensorFunction &optimize(const TensorFunction &expr, Stash &stash); }; |