diff options
Diffstat (limited to 'eval')
-rw-r--r-- | eval/src/vespa/eval/tensor/dense/dense_tensor_apply.hpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/eval/src/vespa/eval/tensor/dense/dense_tensor_apply.hpp b/eval/src/vespa/eval/tensor/dense/dense_tensor_apply.hpp index 062980a7296..c34264c4ef2 100644 --- a/eval/src/vespa/eval/tensor/dense/dense_tensor_apply.hpp +++ b/eval/src/vespa/eval/tensor/dense/dense_tensor_apply.hpp @@ -11,6 +11,11 @@ namespace vespalib::tensor::dense { template <typename Function> std::unique_ptr<Tensor> apply(DenseTensorAddressCombiner & combiner, DirectDenseTensorBuilder & builder, + CommonDenseTensorCellsIterator & rhsIter, const DenseTensorView &lhs, Function &&func) __attribute__((noinline)); + +template <typename Function> +std::unique_ptr<Tensor> +apply(DenseTensorAddressCombiner & combiner, DirectDenseTensorBuilder & builder, CommonDenseTensorCellsIterator & rhsIter, const DenseTensorView &lhs, Function &&func) { for (DenseTensorCellsIterator lhsItr = lhs.cellsIterator(); lhsItr.valid(); lhsItr.next()) { @@ -24,6 +29,13 @@ apply(DenseTensorAddressCombiner & combiner, DirectDenseTensorBuilder & builder, return builder.build(); } + +template <typename Function> +std::unique_ptr<Tensor> +apply_no_rightonly_dimensions(DenseTensorAddressCombiner & combiner, DirectDenseTensorBuilder & builder, + CommonDenseTensorCellsIterator & rhsIter, + const DenseTensorView &lhs, Function &&func) __attribute__((noinline)); + template <typename Function> std::unique_ptr<Tensor> apply_no_rightonly_dimensions(DenseTensorAddressCombiner & combiner, DirectDenseTensorBuilder & builder, |