diff options
Diffstat (limited to 'model-evaluation/src/main/java/ai/vespa/models/evaluation/FunctionEvaluator.java')
-rw-r--r-- | model-evaluation/src/main/java/ai/vespa/models/evaluation/FunctionEvaluator.java | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/model-evaluation/src/main/java/ai/vespa/models/evaluation/FunctionEvaluator.java b/model-evaluation/src/main/java/ai/vespa/models/evaluation/FunctionEvaluator.java index caa2db13ff2..c0f96dfb161 100644 --- a/model-evaluation/src/main/java/ai/vespa/models/evaluation/FunctionEvaluator.java +++ b/model-evaluation/src/main/java/ai/vespa/models/evaluation/FunctionEvaluator.java @@ -60,10 +60,31 @@ public class FunctionEvaluator { return bind(name, Tensor.Builder.of(TensorType.empty).cell(value).build()); } + /** + * Sets the default value to use for variables which are not bound + * + * @param value the default value + * @return this for chaining + */ + public FunctionEvaluator setUnboundValue(Tensor value) { + if (evaluated) + throw new IllegalStateException("Cannot change the unbound value in a used evaluator"); + context.setUnboundValue(value); + return this; + } + + /** + * Sets the default value to use for variables which are not bound + * + * @param value the default value + * @return this for chaining + */ + public FunctionEvaluator setUnboundValue(double value) { + return setUnboundValue(Tensor.Builder.of(TensorType.empty).cell(value).build()); + } + public Tensor evaluate() { for (Map.Entry<String, TensorType> argument : function.argumentTypes().entrySet()) { - System.out.println("Checking " + argument.getKey() + " default " + context.defaultValue() + " is assignable to " + argument.getValue() + - "? " + context.defaultValue().type().isAssignableTo(argument.getValue())); if (context.isMissing(argument.getKey())) throw new IllegalStateException("Missing argument '" + argument.getKey() + "': Must be bound to a value of type " + argument.getValue()); |