summaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@yahoo-inc.com>2017-12-19 23:02:04 +0100
committerJon Bratseth <bratseth@yahoo-inc.com>2017-12-19 23:02:04 +0100
commit35d59981840614bf4b877714ee88e273816c46d2 (patch)
treefba37b2e8bc9fcee46821821ab2886d371fcd696 /searchlib
parent067eb48b7d2fc062a74392b1c16f5538b5031d5b (diff)
Use longs for dimensions lengths in all API's
This is to be able to support tensor dimensions with more than 2B elements in the future without API change.
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/integration/tensorflow/TensorConverter.java2
-rw-r--r--searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/GeneratorLambdaFunctionNode.java10
-rwxr-xr-xsearchlib/src/main/javacc/RankingExpressionParser.jj2
3 files changed, 6 insertions, 8 deletions
diff --git a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/integration/tensorflow/TensorConverter.java b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/integration/tensorflow/TensorConverter.java
index df43225c333..1960cf94591 100644
--- a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/integration/tensorflow/TensorConverter.java
+++ b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/integration/tensorflow/TensorConverter.java
@@ -26,7 +26,7 @@ public class TensorConverter {
int dimensionIndex = 0;
for (long dimensionSize : shape) {
if (dimensionSize == 0) dimensionSize = 1; // TensorFlow ...
- b.indexed("d" + (dimensionIndex++), (int) dimensionSize);
+ b.indexed("d" + (dimensionIndex++), dimensionSize);
}
return b.build();
}
diff --git a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/GeneratorLambdaFunctionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/GeneratorLambdaFunctionNode.java
index d366c9bfbe5..9da1ba40144 100644
--- a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/GeneratorLambdaFunctionNode.java
+++ b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/GeneratorLambdaFunctionNode.java
@@ -1,7 +1,6 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.searchlib.rankingexpression.rule;
-import com.google.common.collect.ImmutableList;
import com.yahoo.searchlib.rankingexpression.evaluation.Context;
import com.yahoo.searchlib.rankingexpression.evaluation.MapContext;
import com.yahoo.searchlib.rankingexpression.evaluation.Value;
@@ -10,7 +9,6 @@ import com.yahoo.tensor.TensorType;
import java.util.Collections;
import java.util.Deque;
import java.util.List;
-import java.util.function.*;
/**
* A tensor generating function, whose arguments are determined by a tensor type
@@ -57,14 +55,14 @@ public class GeneratorLambdaFunctionNode extends CompositeNode {
/**
* Returns this as an operator which converts a list of integers into a double
*/
- public IntegerListToDoubleLambda asIntegerListToDoubleOperator() {
- return new IntegerListToDoubleLambda();
+ public LongListToDoubleLambda asLongListToDoubleOperator() {
+ return new LongListToDoubleLambda();
}
- private class IntegerListToDoubleLambda implements java.util.function.Function<List<Integer>, Double> {
+ private class LongListToDoubleLambda implements java.util.function.Function<List<Long>, Double> {
@Override
- public Double apply(List<Integer> arguments) {
+ public Double apply(List<Long> arguments) {
MapContext context = new MapContext();
for (int i = 0; i < type.dimensions().size(); i++)
context.put(type.dimensions().get(i).name(), arguments.get(i));
diff --git a/searchlib/src/main/javacc/RankingExpressionParser.jj b/searchlib/src/main/javacc/RankingExpressionParser.jj
index 7821ab88b86..541738db8e0 100755
--- a/searchlib/src/main/javacc/RankingExpressionParser.jj
+++ b/searchlib/src/main/javacc/RankingExpressionParser.jj
@@ -467,7 +467,7 @@ ExpressionNode tensorGenerate() :
}
{
<TENSOR> type = tensorTypeArgument() <LBRACE> generator = expression() <RBRACE>
- { return new TensorFunctionNode(new Generate(type, new GeneratorLambdaFunctionNode(type, generator).asIntegerListToDoubleOperator())); }
+ { return new TensorFunctionNode(new Generate(type, new GeneratorLambdaFunctionNode(type, generator).asLongListToDoubleOperator())); }
}
ExpressionNode tensorRange() :