diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2018-01-02 12:49:07 +0100 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2018-01-09 17:44:06 +0100 |
commit | c331285d503f5dd908cdbb250bc6b6a64a95e607 (patch) | |
tree | 995577e51787d9203692b40eca808926da2e155a /eval | |
parent | 450cb5bfb064f6320f57f48e899208f5d13cccbf (diff) |
Specialize add and mul
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, |