summaryrefslogtreecommitdiffstats
path: root/eval/src/vespa/eval/tensor/tensor_factory.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'eval/src/vespa/eval/tensor/tensor_factory.cpp')
-rw-r--r--eval/src/vespa/eval/tensor/tensor_factory.cpp22
1 files changed, 7 insertions, 15 deletions
diff --git a/eval/src/vespa/eval/tensor/tensor_factory.cpp b/eval/src/vespa/eval/tensor/tensor_factory.cpp
index 1e319a45a02..74a84041e75 100644
--- a/eval/src/vespa/eval/tensor/tensor_factory.cpp
+++ b/eval/src/vespa/eval/tensor/tensor_factory.cpp
@@ -8,8 +8,7 @@
namespace vespalib::tensor {
std::unique_ptr<Tensor>
-TensorFactory::create(const TensorCells &cells,
- TensorBuilder &builder) {
+TensorFactory::create(const TensorCells &cells, TensorBuilder &builder) {
for (const auto &cell : cells) {
for (const auto &addressElem : cell.first) {
const auto &dimension = addressElem.first;
@@ -29,9 +28,7 @@ TensorFactory::create(const TensorCells &cells,
std::unique_ptr<Tensor>
-TensorFactory::create(const TensorCells &cells,
- const TensorDimensions &dimensions,
- TensorBuilder &builder) {
+TensorFactory::create(const TensorCells &cells, const TensorDimensions &dimensions, TensorBuilder &builder) {
for (const auto &dimension : dimensions) {
builder.define_dimension(dimension);
}
@@ -40,23 +37,18 @@ TensorFactory::create(const TensorCells &cells,
std::unique_ptr<Tensor>
-TensorFactory::createDense(const DenseTensorCells &cells)
+TensorFactory::createDense(eval::ValueType::CellType cellType, const DenseTensorCells &cells)
{
std::map<std::string, size_t> dimensionSizes;
- DenseTensorBuilder builder;
+ DenseTensorBuilder builder(cellType);
for (const auto &cell : cells) {
for (const auto &addressElem : cell.first) {
- dimensionSizes[addressElem.first] =
- std::max(dimensionSizes[addressElem.first],
- (addressElem.second + 1));
+ dimensionSizes[addressElem.first] = std::max(dimensionSizes[addressElem.first], (addressElem.second + 1));
}
}
- std::map<std::string,
- typename DenseTensorBuilder::Dimension> dimensionEnums;
+ std::map<std::string, typename DenseTensorBuilder::Dimension> dimensionEnums;
for (const auto &dimensionElem : dimensionSizes) {
- dimensionEnums[dimensionElem.first] =
- builder.defineDimension(dimensionElem.first,
- dimensionElem.second);
+ dimensionEnums[dimensionElem.first] = builder.defineDimension(dimensionElem.first, dimensionElem.second);
}
for (const auto &cell : cells) {
for (const auto &addressElem : cell.first) {