summaryrefslogtreecommitdiffstats
path: root/vespajlib
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@verizonmedia.com>2019-11-27 16:51:25 +0200
committerJon Bratseth <bratseth@verizonmedia.com>2019-11-27 16:51:25 +0200
commitb8552a194770a887c27ae09924013f1dd5872aab (patch)
treebd53f718b295f49abedb8e7a757fbdc2f5779eb2 /vespajlib
parent77bb8f5117b7a0f78b2dc99a3937430339e4291d (diff)
Prefix index variables by %
Diffstat (limited to 'vespajlib')
-rw-r--r--vespajlib/src/main/java/com/yahoo/tensor/functions/Generate.java17
1 files changed, 10 insertions, 7 deletions
diff --git a/vespajlib/src/main/java/com/yahoo/tensor/functions/Generate.java b/vespajlib/src/main/java/com/yahoo/tensor/functions/Generate.java
index aaed607aaa1..d3a2dc9169c 100644
--- a/vespajlib/src/main/java/com/yahoo/tensor/functions/Generate.java
+++ b/vespajlib/src/main/java/com/yahoo/tensor/functions/Generate.java
@@ -145,17 +145,15 @@ public class Generate<NAMETYPE extends TypeContext.Name> extends PrimitiveTenso
@Override
public Tensor getTensor(String name) {
- Optional<Integer> index = type.indexOfDimension(name);
- if (index.isPresent()) // this is the name of a dimension
- return Tensor.from(indexes.indexesForReading()[index.get()]);
+ if (name.startsWith("%")) // this is the name of a dimension
+ return Tensor.from(indexes.indexesForReading()[dimensionIndexFrom(name)]);
else
return context.getTensor(name);
}
@Override
public TensorType getType(NAMETYPE name) {
- Optional<Integer> index = type.indexOfDimension(name.name());
- if (index.isPresent()) // this is the name of a dimension
+ if (name.name().startsWith("%")) // this is the name of a dimension
return TensorType.empty;
else
return context.getType(name);
@@ -163,13 +161,18 @@ public class Generate<NAMETYPE extends TypeContext.Name> extends PrimitiveTenso
@Override
public TensorType getType(String name) {
- Optional<Integer> index = type.indexOfDimension(name);
- if (index.isPresent()) // this is the name of a dimension
+ if (name.startsWith("%")) // this is the name of a dimension
return TensorType.empty;
else
return context.getType(name);
}
+ private int dimensionIndexFrom(String nameWithPercentage) {
+ String name = nameWithPercentage.substring(1);
+ return type.indexOfDimension(name)
+ .orElseThrow(() -> new IllegalArgumentException("No dimension '" + name + "' in " + type));
+ }
+
}
}