summaryrefslogtreecommitdiffstats
path: root/vespajlib/src/main/java/com/yahoo/tensor/MappedTensor.java
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2022-03-29 12:21:56 +0200
committerJon Bratseth <bratseth@gmail.com>2022-03-29 12:21:56 +0200
commite69d6e8f3d8a6504135f6d2733a3a42f6a041ed4 (patch)
tree046483fb628977f62a66cb660d4a09fcd4302e0d /vespajlib/src/main/java/com/yahoo/tensor/MappedTensor.java
parent13100e8dcc72b7c879727e5d96e1fdfceb2d3bcc (diff)
Validate query feature tensor types
- Validate tensor feature types when a tensor is set programmatically. - Add a toShortString for messages containing tensors. - Consistent and nicer spacing in tensor string forms.
Diffstat (limited to 'vespajlib/src/main/java/com/yahoo/tensor/MappedTensor.java')
-rw-r--r--vespajlib/src/main/java/com/yahoo/tensor/MappedTensor.java9
1 files changed, 7 insertions, 2 deletions
diff --git a/vespajlib/src/main/java/com/yahoo/tensor/MappedTensor.java b/vespajlib/src/main/java/com/yahoo/tensor/MappedTensor.java
index 09e93d80bd9..ad945ed18bf 100644
--- a/vespajlib/src/main/java/com/yahoo/tensor/MappedTensor.java
+++ b/vespajlib/src/main/java/com/yahoo/tensor/MappedTensor.java
@@ -50,7 +50,7 @@ public class MappedTensor implements Tensor {
public Tensor withType(TensorType other) {
if (!this.type.isRenamableTo(type)) {
throw new IllegalArgumentException("MappedTensor.withType: types are not compatible. Current type: '" +
- this.type.toString() + "', requested type: '" + type.toString() + "'");
+ this.type + "', requested type: '" + type.toString() + "'");
}
return new MappedTensor(other, cells);
}
@@ -72,7 +72,12 @@ public class MappedTensor implements Tensor {
public int hashCode() { return cells.hashCode(); }
@Override
- public String toString() { return Tensor.toStandardString(this); }
+ public String toString() { return Tensor.toStandardString(this, Long.MAX_VALUE); }
+
+ @Override
+ public String toShortString() {
+ return Tensor.toStandardString(this, Math.max(2, 10 / (type().dimensions().stream().filter(d -> d.isMapped()).count() + 1)));
+ }
@Override
public boolean equals(Object other) {