diff options
Diffstat (limited to 'config-model')
-rw-r--r-- | config-model/src/main/javacc/IntermediateParser.jj | 12 | ||||
-rw-r--r-- | config-model/src/test/java/com/yahoo/vespa/model/search/test/SchemaInfoTestCase.java | 2 |
2 files changed, 11 insertions, 3 deletions
diff --git a/config-model/src/main/javacc/IntermediateParser.jj b/config-model/src/main/javacc/IntermediateParser.jj index 314de9878ee..fbd0181d307 100644 --- a/config-model/src/main/javacc/IntermediateParser.jj +++ b/config-model/src/main/javacc/IntermediateParser.jj @@ -2476,10 +2476,18 @@ String constantTensorErrorMessage(String rankProfileName, String constantTensorN Tensor tensorValue(TensorType type) : { Tensor.Builder builder = Tensor.Builder.of(type); + Number doubleValue = null; } { - ( mappedTensorValue(builder) | indexedTensorValues(builder) ) - { return builder.build(); } + ( mappedTensorValue(builder) | indexedTensorValues(builder) | doubleValue = consumeNumber() ) + { + if (doubleValue != null) { + if (type.rank() > 0) + throw new IllegalArgumentException("A tensor of type " + type + " cannot be a number"); + builder.cell(doubleValue.doubleValue()); + } + return builder.build(); + } } /** A mapped or mixed tensor value. */ diff --git a/config-model/src/test/java/com/yahoo/vespa/model/search/test/SchemaInfoTestCase.java b/config-model/src/test/java/com/yahoo/vespa/model/search/test/SchemaInfoTestCase.java index 01ddd82c4bd..a9aa6f4c605 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/search/test/SchemaInfoTestCase.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/search/test/SchemaInfoTestCase.java @@ -20,7 +20,7 @@ public class SchemaInfoTestCase { " inputs {" + " query(foo) tensor<float>(x[10])" + " query(bar) tensor(key{},x[1000])" + - " query(myDouble1) double" + + " query(myDouble1) double: 0.5" + " query(myDouble2) tensor()" + " query(myMap) tensor(key{}): { label1:1.0,\n \"label2\": 2.0, 'label3': 3.0 }" + " query(myVector) tensor(x[3]):\n\n[1 ,2.0,3]" + |